利用robots.txt防止针对Movable Type的comments和backtrack ping SPAM


从周围使用MT朋友的经验来看:针对MT系统的搜索引擎SPAM已经成为越来越严重的问题,很多利用MT这样对用户留言比较开放的CMS系统进行的SPAM程序:自动探测MT发布系统的留言入口,发布垃圾信息,目的就是为了通过当前BLOG发布页面中的评论作者主页链接获得到自己网站的反相链接,引导Googlebot的抓取,从而获得更高的PageRank。

本文主要设想利用搜索引擎的robots.txt标准:通过MT系统主动告知搜索引擎蜘蛛直接对话:告诉那些内容是经过当前BLOG发布者完全控制的,那些是可能不受到发布者控制的。只让搜索引擎的蜘蛛抓取BLOG发布者自身完全控制部分的信息,不仅尽可能减少了spammer进行spam的机会,更重要的要无法让spammer达到他们的目的。

2005-01-05 Six Apart发布官方anti comment spam说明


2005-01-08 Jeremy's mod_rewrite anti comments spambot

从CatHome01的讨论我想到了一个使用Referer来判断是否是来自本网站的附加校验:这样就避免了一次对提交模板的修改。趁spammer还没有开始模拟referer还能抵挡一阵吧。


use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} ne "POST" || !($ENV{'HTTP_REFERER'} =~ /InputYourDomainHere/) ) {
print "Content-Type: text/html\n\n";
print "Error occurred: ";
die();
}

比如:我自己网站上的就是:

use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} ne "POST" || !($ENV{'HTTP_REFERER'} =~ /chedong\.com/) ) {
print "Content-Type: text/html\n\n";
print "Error occurred: ";
die();
}

另外:大家都越来越懂得了BackTrack ping是为自己获得反相链接的好办法。很多家网站的BLOG系统都开始进行自动bACKtRACK发现:甚至只要引用了网站的,都会自动找到这个网站的最新一篇BLOG发上一个trackback ping。backtrack ping成为spammer鱼肉的日子不远了。

MT插件:MT-Blacklist - A Movable Type Anti-spam Plugin。解决MT的comments 和backtrack ping SPAM问题除了通过黑名单BLOCK外,另外一个方面在于让spammer无法达到获得反相静态链接从而达到它们spam googlebot获得pagerank的目的。
其实在Movable Type 2.661中首先已经把评论和TRACK BACK链接全部改为动态链接,而不是直接指向留言者主页的静态链接:
/path/to/mt/mt-tb.cgi?__mode=view&entry_id=520
然后只要告诉GOOGLEBOT和BAIDUSPIDER等crawler不要抓取这些动态页面,让那些spammer发好了:反正它们的网站是不会直接从我的网站上得到直接的静态反相链接了,SPAMMER从中一点好处也得不到,也省得blogger经常收到通知就需要马上去删那些MT spam。

具体做法:
1 使用MT 3.0以上版本重新发布BLOG,保证所有评论都必须通过批准后才能发布。保证所有评论和backtrack ping链接到统一的动态地址上;

2 在MT管理目录的根目录下创建robots.txt,对这些动态网页禁爬:
User-agent: *
Disallow: /path/to/mt/

3 在 mt.cfg 中:将评论和trackback的入口重新命名然后rebuild 文档。
CommentScript comments.pl
TrackbackScript trackback.pl
修改这个设置一定要记住:否则MT升级后可能还会有旧版本,因为comments.cgi的spam问题12-13日powweb还给我发了一个警告信,没有及时回复,导致服务器HTTP服务被强制暂时中止……comments spam严重的话,其实将typekey服务enable还是很值得的。而起我发现,其实从backtrack中得到的反馈比comments质量更好。

补充:如果评论中的auto url或允许HTML代码的话,那么内容中的SPAM还是不能防止的。

关于搜索引擎robots的禁爬:另外一个方法是通过网页中的meta tag:
<meta name="robots" content="noindex,nofollow">

应该建议MT可以通过配置在mt-comments.cgi mt-tb.cgi中加入相应的header。

做为网站发布者本身应该有这样的责任感:没有禁爬设置的MT就像不需要认证的SMTP的一样,也许对于自身没有什么影响,但是如果无意中成为转发垃圾邮件的工具就是在助纣为虐了。MT spam的确会使得blog成为搜索引擎spam的帮凶,这一问题应该被重视起来。

另外:发现大部分的SPAM都是针对BLOG中 从00001.html 00002.html这样ID比较靠前的帖子进行的循环。

2004年11月11日:
转载:CNBlog: Blog on Blog: 以彼之道,还施彼身
这种写垃圾留言的行为叫做Spamdexing,行为者叫做Spamdexer。笼统地讲,Google以某网页被其他网站链接的数量作为“选票”,确定该网页在搜索结果中的名次。(当然这不是唯一的指标。)不少商家为了提升自己PageRank的排名,恬不知耻的自己给自己“投票”。现在流行的做法是不但是在blog开放式的留言系统在散布垃圾关键词和链接,更缺德的是入侵wiki页面。前者叫做BlogSpamming,后者叫做WikiSpamming,也是wiki vandalism之一种; Spammer们与时俱进,推陈出新,给spamming 家族不断创添加新词汇。

据说,大部分spamdexers来自中国,不少国外wiki项目不得已采取了粗糙措施,禁止某些来自中国的修改。看一个WikiSpamming的例子。这是美国迈阿密大学Michael Froomkin教授主持的Copyright Experiences的维基项目,其目的建立一个法律刊物的数据库。他近几个月来就饱受wikispamming之苦,苦不堪言。现在他只得将首页锁定,并封锁了几个来自中国的IP地址。不过成效少得可怜。大家不妨点击看看“recent change”里,哪些最近页面被Spamdexers修改了。我昨天看到又是一家中国网站(域名以.cn结尾)为自己插入了将近二十个垃圾链接。(给国人丢脸啊!)这些垃圾留言即使被管理员删除,维基项目一般仍会在其“历史页面”中留有存档;因此删除这种做法,对于WikiSpamming是毫无影响的。 因此建议Wiki的主持者需要考虑拒绝Google的蜘蛛虫对历史页面进行爬行备档。

Spamdexer过街,人人喊打。如何喊打呢? Chongqed.org是一家专门对付他们的网站。Chongqed的做法很简单,它把自己变成一个链接垃圾场,或者说是一家spamdexer人渣俱乐部,让各种垃圾关键词和链接都落入Chongqed的页面里面。Blogger们不妨在自己的网志中加入Chongqed.org的链接,以提高这个网站的排名。其最终目的是让垃圾关键词更好的与Chongqed这个垃圾场去匹配,使得Spamdexer的网站的排名始终落在Chongqed之后。(应当注意到,Chongqed一词来源于一个名叫Chongqing的spamdexer先驱,chongqed.org网站发起者在此之前并不知道重庆是中国地名;他们甚至分不清重庆是中国的一省还是一市呢。)这里有一个spamdexer的黑名单,大家仔细看看,中国网站还真不在少数。

清算Spamdexer的日子到了-- Blogger们联合起来,每人赠送给Spamdexers通向Chongqed.org垃圾场/坟场的链接,让垃圾留言者永远迷失在茫茫无际的重庆森林!

Chenwei

2004-12-26
看到很多人这样防止机器提交的垃圾留言:要求输入时,输入一个自己网站的特征字符,比如作者的名字:
first_name.png

或者明确告诉你是一个Human: 哈
human.png

以下升级MT BlackList 2.0后的几个小时内被屏蔽的SPAM列表:大约有几十条
2004.12.26 02:14:05 65.37.95.91 MT-Blacklist comment denial on 'Sake 的生活笔记'.
Author: free online poker; Email: kotgj@a4144fe8b2d5521f5a48d28524ed35138.com
String matched: oliviagadamer.com
2004.12.26 02:19:20 80.118.36.213 MT-Blacklist comment denial on 'Sake 的生活笔记'.
Author: free online poker; Email: gynema@ae2cabd731eb004626c1324b09b6b197b.com
String matched: oliviagadamer.com

2005-01-05 Six Apart发布官方anti comment spam说明

作者:车东 发表于:2004-06-28 10:06 最后更新于:2007-04-15 19:04
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

引用通告

以下是前来引用的链接: 利用robots.txt防止针对Movable Type的comments和backtrack ping SPAM:

» Mt 系统如何防止垃圾留言 来自 六翼的天使
关于如何在Movable Type上禁止Spam(垃圾留言),以前有朋友问起这些问题,写一个比较完整的版本在这里:... [阅读更多细节]

» 从MT2.6升级到MT3.x 来自 车东Blog^2
mtupgrade - Upgrading Movable Type 终于找到了将Movabletype 2.x升级到movabletype 3.x版本的升级文档: 方法就是下载时,选择... [阅读更多细节]

» MovableType的Comment Spam 来自 Blog - Firefox
6e已〓介〓了一些〓付Comment Spam的方法。今天看到Burningbi... [阅读更多细节]

» 车东的域名检查法 来自 BlogFirefox
大概是车东看了我的隨筆:對付Spam的三人會的谈话,他对这个对付Spam的窗口自... [阅读更多细节]

» +1 rel="nofollow" — 从新标准看搜索引擎抓取智能化 来自 车东Blog^2
昨天早上打开自己首页的时候:惊喜的发现我订阅的搜索引擎服务商和MT的anti spam blog 全部指向一个关键词:nofollow Google联合Yahoo! MSN和主要Blog服务提供商:推出一个新的搜索引擎收录服务标... [阅读更多细节]

» 利用robots.txt 防止Movable 来自 CNBlog: Blog on Blog
很多使用Movable Type的朋友都收到过comments spam和backtrackping spam,有的甚至使用了黑名单插件来过滤。 清洁网络环境,还是需要blogger自身的努力:利用robots.txt防止Movable Type的comments和backtrack ping ... [阅读更多细节]

» 中文网志年会 - [CMS]篇 来自 车东[Blog^2]
Blog发布工具/系统一直是让blogger相互联系起来很重要的一个方面,因为写网志首先要解决的就是要有写作的平台。在中文网志年会上:我见到了很多人,其中很多人的网志都是我以前在使用BLO... [阅读更多细节]

Comments

这个GOOGLE迟早会处罚的。

车东兄,我遇到一个validate的问题,在rebuild的时候,总是说validatePP.pm有错误。如下:
Prototype mismatch: sub Params::Validate::validate_pos vs (\@@) at /extlib/Params/ValidatePP.pm line 139.
以及
Prototype mismatch: sub Params::Validate::validate vs (\@$) at /extlib/Params/ValidatePP.pm line 370.
我用的是MT3.11,前段时间才用MT3.01D升级上来的,但MT3.01D的时候就有同样的问题。但MT2.65没有这个问题的……请问这个validatePP.pm是做什么用的?谢谢了!!!!

check referral的方法的確好用 + 易用

Sorry for this free ringtones

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)