老办法改脚本文件名还是要用:
在mt-config.cgi中加上:
TrackbackScript tb.cgi
CommentScript comments.cgi
注意:MT官方网站上的TrackbackScript说明有误:应该是小写b
TrackbackScript != TrackBackScript
CTCode已经调通了,写笔记宣传一下。感谢毕勤的提示,找到了CCode和TCode这个防spam插件。原理很简单:就是将原来的Comment和Trackback的ID后面增加了一个数字(我观察:10位数字应该是文章发表的时间戳基于时间戳生成的数字)用作干扰,以防止Spammer用留言机对于使用MT进行blog发布的系统进行地毯式trackback轰炸(从文章1到文章1000)。
优点:
1 COMMENT和TRACKBACK的spam问题同时解决;
2 不用安装新的PERL模块(使用图形验证就比较麻烦,需要安装很多动态生成模块);
3 blog读者不增加负担,不用输入校验码之类的(但是TRACKBACK变成手工的了,无法自动发现了);
缺点:
改的地方太多,除了部署plugins文件外:
1 每个BLOG一一修改模板单篇归档模板的留言表单;
2 留言页面需要增加一个JS函数:增加单独js文件,或者扩展mt-site.js
3 需要重建所有页面;
4 针对分布式spambot不管用:还是要先将改文件名。
安装以后的确有感到回到刚安装MT时候的安静环境中(但:目前spamlookup插件仍然在使用中)。希望能和spamlookup一样,成为MT的标准插件配置;
以下是具体安装和配置过程:
安装:
将CTCode-3.3.01.tar.gz放到 cgi-bin/mt/ 并解压。
CCcode的配置:
0 (如果直接使用的是MT3.3以上可跳过)如果从MT3.2升级上来的系统可能缺少mt-site.js文件的模板,添加一下;
1 将default_templates下的obfuscator.js附在site_javascript.tmpl后面;
obfuscator.js >> site_javascript.tmpl
手工更新一下每个blog的mt-site.js模板/重建;
2 在每个blog的单篇归档模板中评论提交表单内增加<$MTEntryCCode$>字段;
重建所有单篇归档。
关于TCode机制:
TCode防止的其实是基于html header中的ping地址定义:
rdf:about="http://www.chedong.com/blog/archives/001235.html"
trackback:ping="http://www.chedong.com/cgi-bin/mt/mt-tb.cgi/935.your ping is to be moderated, so please dont't send repeatedly"
所以:在MT对外网blog ping的时候,自动发现的地址就变了。所以如果发现MT自动发现的ping地址不对就需要自己手工改一下。
TCode在安装上插件后,直接生效,不需要修改JS,也需要部署js:感谢路杨的耐心说明。
你是用FireFox的查看 “选中部分的原代码” 来看的吧? FF有个功能,就是会把JS write 出来的东西切换成HTML再次显示一遍来方便网页设计人员。作者:车东 发表于:2006-11-20 13:11 最后更新于:2007-04-22 21:04你还是查看全部原代码定位到TrackLink来看把:)或者用ie来看, 1464314384 其实就是 type="text/javascript">obfuscator('Uj2jlUjlYj',
'mcVRTeM4Zzopd3iqFjuwGHKlQ1anEDgb7XOUy8059rLkSNfYW6CBPAvIstx2Jh',
'__MTTBLINK__', 'http://www.chedong.com/cgi-bin/mt/mt-tb.cgi/935.',
''); 的 HTML输出而已 。另外,我们直接分析代码吧。你定位到Tcode.pl,看看sub alogblog_category_tb_link的输出
require alogblog::Obfuscator;
if($_[1]->{hidden}) {
alogblog::Obfuscator::munge('', $ts, '__MTTBLINK__', $path, 1);
} else {
$path . alogblog::Obfuscator::munge('', $ts, '__MTTBLINK__', $path);
}而alogblog::Obfuscator.pm中 munge 函数的输出就是上面的js. $ts就是干扰码。
PS: Tcode&Ccode的干扰码是从blog的发布日期两次转换迩来生成一串数字,然后把这传数字经过alogblog::Obfuscator::munge加密成一段js,然后再由js函数解秘为那传数字。
可以通过修改,去掉js,但是就失去防止SPAM机器人抓网络分析地址的功能了。
版权声明:可以转载,转载时请务必以超链接形式标明文章 CCode and TCode: MT的防SPAM插件 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/001237.html
Comments
太麻烦,我现在就用默认的插件,基本上也解决了Spam的问题
由: Fenng 发表于 2006年11月20日 下午02时12分
暂时还是继续用spamlookup……
由: sherry 发表于 2006年11月20日 下午04时44分
$magicKey 最好自定义之,不然还是一个漏洞的说 :P
由: 路杨 发表于 2006年11月20日 下午06时27分
根据在Postshow上使用的经验,还是起不到多大作用,spam trackback让mt-tb.cgi占用了100%的cpu时间,站点基本瘫痪。。。
由: shunz 发表于 2006年11月20日 晚上11时16分
呵呵,我也装了,用起来感觉还不错
到现在为止,还没被袭
由: Chris 发表于 2006年11月21日 下午05时08分
经常换换tb.cgi的地址也是一个不错的对策!
由: ikias 发表于 2006年11月22日 夜间05时54分
我有一个比较好地解决办法,
经试验到目前为止还没有受到Trackback Spam的干扰
具体方法请看
http://wells.osall.com/blog/index.php?uid=1&m=content&p=344
由: wells 发表于 2006年12月14日 上午09时42分