November 29, 2004
MT 防止垃圾留言的新方法::[Blog]

MT系统的垃圾留言有一个特征,就是留言里面很多联接,非常烦人,在尝试了采用对评论提交后匹配有多少个联接出现在留言里,然后判断是否是垃圾留言是一个好办法来防止大多数的留言。我测试了大约一周,效果比较明显。
以下代码紧跟在mt-comments.cgi的use strict;下面。
use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
my $tck = param('text');
die if($tck ne "" && $tck !~ /[\x80-\xff]/);
# 以上判断是否是中文留言
my $ncom = 0;
while ( $tck =~ /http/g ) { $ncom ++ ; }
die if( $ncom > 1 );
# 以上判断有多少个URL出现
}
这里 $ncom 就是计算里面的联接个数,如果大于1,就当做垃圾留言了,直接中断。这个可以做适当的调整。
更多的内容请看以前写的Mt 系统如何防止垃圾留言以及如何通过 .htaccess 禁止垃圾 refer ,这里面提到了现有的常用的垃圾留言的处理方案。
Posted at November 29, 2004 03:04 PM by Liang at 03:04 PM | Comments (8) | TrackBack(4) | Booso!| Niu.la收藏!Trackback
You can ping this entry by using http://www.wespoke.com/cgi-bin/mt/mt-tb.cgi/666
为何要反垃圾?MT 的面向搜索引擎结构做得太好,使得很多个人网站有机会获取高 PR,于是就引来了有商业头脑的 SEO 们挂链接;MT 的反垃圾系统太机械,仅有的技术就是 Ban 掉已知的 Blacklist...
Trackbacked from http://blog.xdanger.com/archives/2004/12/10/000156.html with 使用Bayesian算法彻底杜绝MT的垃圾评论/Trackback on 因思而变.
6e已经介绍了一些对付Comment Spam的方法。今天看到Burningbi...
Trackbacked from http://www.blogfirefox.com/archives/2004/12/movabletypeomme.html with MovableType的Comment Spam on BlogFirefox.
Trackbacked from http://last-longer.vsurl.com with last longer on last longer.
Trackbacked from http://play-holdem-poker-en.bargarmetal.com with it's a very nice website you're having here. on .
Comments
不错不错,但是还是有点问题
如果他用机器人发,发一百条,每条都是一个连接呢?
Posted by: tinyfool at November 30, 2004 07:53 PM from 219.238.144.234为什么不用PLUGIN的Blacklist呢,那不是更方便而且便于管理吗?
Posted by: Michael at December 2, 2004 04:41 AM from 202.118.194.154有个问题想问一下。
如果一个回复内容真实,可信。但作者为了证实自己的观点,有多于一个的链接,那不是变成了垃圾留言?
