January 27, 2005

Mt 系统如何防止垃圾留言以及如何通过 .htaccess 禁止垃圾

关于如何在Movable Type上禁止Spam(垃圾留言),以前有朋友问起这些问题,写一个比较完整的版本在这里:

1] Spam 的工作原理
Spam 搜索网络上现有的,已知的 comment 的资源位置,例如MT的 mt-comments.cgi comment.cgi -spam,然后从中找到这些资源的URL。
或者搜索一些明显的MT的单篇日志/或者日志的位置,依据通常的做法可以猜测到那些comment.cgi 的位置。

下一步就是写一个提交cgi的程序了,然后就完事了。

注意,垃圾留言的最主要的特征是通过程序进行留言的,因此虽然有一定的智能性,但是毕竟是没有思维/视觉的程序。

2] 最简单的更名防止垃圾留言的办法:
这个是最简单的,也是最有效的。
更改 mt.cfg 里CommentScript 的位置,例如:
CommentScript PingLun.cgi (评论.cgi ,你可以采用任何的名子)
然后将mt-comments.cgi 更名为 PingLun.cgi
chmod 755 PingLun.cgi
后重新编译整个系统。

3] 熟练级 :mt-blacklist package
我曾经向Hedong推荐这个,因为功能非常强大,可以过滤Url,关键词,可以对以往的留言再进行过滤,也可以对Traceback进行 anti-spam

4] 专家级:Scode

这个采用了惯用的 图像文字识别码,你必需输入正确的数字才能够完成comment,这样的plugin已经完全屏蔽了垃圾留言。这里有介绍

5] 其它
Chedong在cnblog里提出用 robots.txt 来禁止爬虫爬 mt-comments.cgi ,当然,这样可以禁止一些,但是如果单页没有被禁止的话,仍然可以通过分析单页得到里面嵌入的form和action的动作,从而得到comment.cgi 的资源位置。不过,这种方法的确可以有效的防止spam网址获得较高的pagerank。


下面是 更多内容关于利用.htaccess 和 httpd.conf 来精确/匹配/限止/留言和Refer的方法
这个我本来发在 www.wespoke.com里,觉得也许对这里有帮助,狗尾续貂一下。

In httpd.conf
####################################
1]
SetEnvIfNoCase Referer ".*(casino|gambling|poker|porn|sex|hqsearch|webcamss|rape).*" BadReferrer


order allow,deny
allow from all
deny from env=BadReferrer


####################################

2] Using .htaccess to ba


本博原创,如转载请注明出处:http://blog.vfocus.net,谢谢。

本文的引用网址:


Posted by vitter at January 27, 2005 05:04 PM
评论
发表评论













记住个人信息?