June 28, 2004

Mt 系统如何防止垃圾留言以及如何通过 .htaccess 禁止垃圾 refer::[重新思考|Thought]

Liang

关于如何在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 ban Refer and also Ban IP

####################################
SetEnvIfNoCase Referer ".*(casino|gambling|poker|porn|sex|hqsearch|webcamss|rape).*" BadReferrer
order deny,allow
deny from env=BadReferrer
deny from 63.81.44.2
deny from 69.50.191.130
####################################

3] 在refer 的 refer.php 里面定义黑名单:
$rcfg['exclude'][] = 'viagra';
$rcfg['exclude'][] = 'acetools';
$rcfg['exclude'][] = 'atsync';
$rcfg['exclude'][] = 'lmhsoft';
$rcfg['exclude'][] = 'direct-email-marketing-software';
$rcfg['exclude'][] = '1-bulk-email-software';
$rcfg['exclude'][] = 'mailsoft';
$rcfg['exclude'][] = 'viagra';
$rcfg['exclude'][] = 'acetools';
$rcfg['exclude'][] = 'atsync';
$rcfg['exclude'][] = 'lmhsoft';
$rcfg['exclude'][] = 'direct-email-marketing-software';
$rcfg['exclude'][] = '1-bulk-email-software';
$rcfg['exclude'][] = 'mailsoft';
$rcfg['exclude'][] = '4444';
$rcfg['exclude'][] = 'shareware-catalog';
$rcfg['exclude'][] = 'the-proxy';
$rcfg['exclude'][] = 'blogspot';
$rcfg['exclude'][] = 'xxx-database';
$rcfg['exclude'][] = 'ghettoinc';
$rcfg['exclude'][] = 'sexingitup';
$rcfg['exclude'][] = 'sex';
$rcfg['exclude'][] = 'superbowl';
$rcfg['exclude'][] = 'gabriola-island';
$rcfg['exclude'][] = 'janet-jackson';
$rcfg['exclude'][] = 'all-free-xxx';
$rcfg['exclude'][] = 'janet-jackson-picture';
$rcfg['exclude'][] = 'blogdrive';
$rcfg['exclude'][] = 'xxxwashington';
$rcfg['exclude'][] = 'sautiyakenya';
$rcfg['exclude'][] = 'excort-woman';
$rcfg['exclude'][] = 'wheelcomponents';
$rcfg['exclude'][] = '1stpromotion';
$rcfg['exclude'][] = 'clickbank-search';

Posted at June 28, 2004 05:00 PM by Liang at 05:00 PM | Comments (6) | TrackBack(13) | Booso!| Niu.la收藏!


Trackback

You can ping this entry by using http://www.wespoke.com/cgi-bin/mt/mt-tb.cgi/522

几天前在給自己的MT進行Rebuild的途中,突然被服務器強行的Logout了。納悶之中再登陸MT的時候,無論怎樣都進不去。試著用FTP登陸服務器,還可以,沒有任何問題。又試著用我給別的朋友做的帳†來...

Trackbacked from 恐怖的MT on 生活像啤酒一樣苦 像巧克力一樣的甜.

六翼有很多好玩的東西不願公布出來(‾_‾)。我把他前幾天告訴我的這個MT的隨機文章介紹一下。...

Trackbacked from MT的随机文章 on 生活像啤酒一樣苦 像巧克力一樣的甜.

最近英語的拉圾留言滾滾而來,一天之†最高的竟達90個留言之多。試著打開進去瞧了瞧,除了色情就是賭博,即無益又無用,對提高我的英語水平也無幫助。但是把這些拉圾留言就這樣放置那里也...

Trackbacked from MT的垃圾留言†策 on 生活像啤酒一樣苦 像巧克力一樣的甜.

一天被灌至少一次,因為有快150篇文章,所以,被灌一百多則, 還好LIS教我從資料庫刪,不然我可能會哭死,並關閉所有的留言機制。 但是,討厭鬼還是每天來灌呀!上網找了防止的方法,...

Trackbacked from 快受不了的垃圾留言 on 阿妮奇部落.

最近英語的拉圾留言滾滾而來,一天之內最高的竟達90個留言之多。試著打開進去瞧了瞧,除了色情就是賭博,即無益又無用,對提高我的英語水平也無幫助。但是把這些拉圾留言就這樣放置那里也...

Trackbacked from MT的垃圾留言对策 on 生活像啤酒一樣苦 像巧克力一樣的甜.

最近英語的拉圾留言滾滾而來,一天之〓最高的竟達90個留言之多。試著打開進去瞧了瞧...

Trackbacked from MT的垃圾留言对策 on CATHOME01.COM.

昨天和站長談了對付拉圾留言的方法。因為這個方法的出發點是禁止留言〓容全為半角(半...

Trackbacked from 垃圾留言对策 on CATHOME01.COM.

MT系统的垃圾留言有一个特征,就是留言里面很多联接,非常烦人,在尝试了采用对评论提交后匹配有多少个联接出现在留言里,然后判断是否是垃圾留言是一个好办法来防止大多数的留言。...

Trackbacked from MT 防止垃圾留言的新方法 on 搜索引擎研究.

为何要反垃圾?MT 的面向搜索引擎结构做得太好,使得很多个人网站有机会获取高 PR,于是就引来了有商业头脑的 SEO 们挂链接;MT 的反垃圾系统太机械,仅有的技术就是 Ban 掉已知的 Blacklist...

Trackbacked from 使用Bayesian算法彻底杜绝MT的垃圾评论/Trackback on 因思而变.

中国有句古话,叫“道高一尺,魔高一丈。”当然,也有人这么说“魔高一尺,道高一丈。”这话的对错不管,总归说明了只要有“道”就有“魔”。 先从 spam comment 说起: 我写过若干篇关...

Trackbacked from 机器的理想 on 搜索引擎研究.

前一陣子,只要是有名一點的,或是流量大一點的Blog都遇到了垃圾留言的問題。因為搜尋引擎排名的關係,有人為了要增加自己網站的PR值,讓排名往前,所以就利用程式在各Blog的迴響上散...

Trackbacked from 新增 - 對抗垃圾留言!! MT plugin - Nofollow on Fan 's blog 專心求聰明.

前一陣子,只要是有名一點的,或是流量大一點的Blog都遇到了垃圾留言的問題。因為搜尋引擎排名的關係,有人為了要增加自己網站的PR值,讓排名往前,所以就利用程式在各Blog的迴響上散...

Trackbacked from 新增 - 對抗垃圾留言!! MT plugin - Nofollow on Fan 's blog 專心求聰明.

Trackbacked from interesting site, and very organized too. good work. on .

Comments

第 1 楼:

不知道6e有没有试用movable type自己的pagerank disabling,看起来是个很有效的方法。

http://simon.incutio.com/archive/2004/01/21/mtPageRankKiller

btw,这个site上面的评论连接全都是用google重新定向的。

Posted by: dotann at June 28, 2004 11:49 PM from 65.96.129.167

第 2 楼:

太好了。我被这些垃圾留言都快搞疯了。

Posted by: david at June 29, 2004 12:34 AM from 218.6.195.89

第 3 楼:

dotann,知道的啊,MT 2.661为了提高Page Rank才这么做的,其实这个还是要根据不同的系统的模板有所不同。PR值并不能代表一切,你如果看过PR的拓扑图,就知道通过合理站内链接方式就可以得到非常高的PR。
David,呵呵,如果有新发现会通知你的。

Posted by: Liang at June 29, 2004 03:52 PM from 24.0.140.190

第 4 楼:

不明白chmod 755 PingLun.cgi 是什么意思。。。将哪个文件改名为chmod 755 PingLun.cgi?
下载了mt-blacklist package,是不是解压后上传到mt.cgi的同一个目录里?
谢谢指教 ^_^

Posted by: Ne' at July 3, 2004 01:34 AM from 219.136.14.17

第 5 楼:

Ne, chmod 是unix下的一个指令,用来改变文档的“读,写,执行”的属性。chmod 755 Pinglun.cgi 就是使得这个cgi程序变为可以执行。

Posted by: Liang at July 4, 2004 02:01 PM from 24.0.140.190

第 6 楼:

真好!我选第2种方法。虽然到现在还没有看到垃圾留言,改一下也好。多谢~~

Posted by: tomoro at August 11, 2004 09:03 AM from 61.131.61.26

Post a comment

请注意,为了防止spam,您的留言必需含有中文字符!









Remember personal info?