February 01, 2005
MT 防止垃圾的 Trackback 的方法::[Source]

以前做防止Spam comment垃圾留言的时候做了,长时间没有看都忘记了,朋友问起提醒了我,写在这里:
mt-tb.cgi 是处理 trackback 的程序,这个程序拿到了 trackback 后进行插入数据库处理。
trackback 的数据结构定义在:
lib/MT/TBPing.pm 里面,有如下结构:
my $ping = MT::TBPing->new;
$ping->blog_id($tb->blog_id);
$ping->tb_id($tb->id);
$ping->title('Foo');
$ping->excerpt('This is from a TrackBack ping.');
$ping->source_url('http://www.foo.com/bar');
$ping->save
or die $ping->errstr;
其中 'excerpt'就是文字描述部分,可以进行监查有没有中文的判断,如果没有中文,就当做spam处理,直接中断:
if ($ENV{'REQUEST_METHOD'} eq "POST") {
my $tck = param('excerpt');
die if($tck ne "" && $tck !~ /[\x80-\xff]/);
}
将以上四句话加到 mt-tb.cgi 里面 use strict; 后就应该起作用了。
Trackback
You can ping this entry by using http://www.wespoke.com/cgi-bin/mt/mt-tb.cgi/708
邮箱里一下子收到十几封来自这个blog的trackback的通知邮件,吓了我一跳...
Trackbacked from http://www.cathome01.com/asiapan/archives/2005/02/trackback.html with 是trackback被攻击吗? on Asiapan.
Trackbacked from http://www.juega-al-casino.com with Great post! I'm looking forward for more. on .
Comments
谢谢卢亮,我最近发现Google Groups实际上是一个非常好的个人留言簿系统,我已经将将大部分MT邮件都转发到@googlegroups.com 上建立的邮件列表中了,实现了一个个人通用的留言簿机制。可以用来跟踪被人给自己BLOG的反馈和自己在别人BLOG上的留言回复。
车东
Posted by: Che Dong at February 2, 2005 12:46 AM from 202.43.217.195不客气, 我也发现 google 的很多东西可以拿来做比较有意思的东西.
Posted by: 6e at February 2, 2005 06:21 PM from 129.119.200.36both didn't work with MT 3.0D
文
Posted by: kevin at February 20, 2005 02:44 PM from 129.119.200.36