CCode and TCode: MT的防SPAM插件


老办法改脚本文件名还是要用:
在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再次显示一遍来方便网页设计人员。

你还是查看全部原代码定位到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机器人抓网络分析地址的功能了。

作者:车东 发表于:2006-11-20 13:11 最后更新于:2007-04-22 21:04
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

引用通告

以下是前来引用的链接: CCode and TCode: MT的防SPAM插件:

» [MT plugin]TCode for MT的应用,分析和注意事项 来自 WebBlog:路杨
TCode for MT 是 CCode and TCode for MT的关于 防范 TrackBack SPAM 的组成部分。 随着最近网络上的 TrackBack SPAM 大规模卷土重来,装这个 MT plugin 的同好者越来越多,偶也 TrackBack SPAM 受害者之一,也装了这个plugin,在安装和使用中有些体会,写下来于各位同享之。... [阅读更多细节]

» 关于Spam对策:AutoIPBan插件 来自 Ikias.com
同SPAM的斗争是一个长期性的问题,需要坚持和耐力。特别是Blog所特有的引用功能,更是SPAM们的操兵习武之胜地,稍微不注意就会塞满你的Blog的角角落落。 MT本身就有一个IP封禁的功能,如果能够坚持将给你发SPAM留言和SPAM引用的IP地址都输入到IP封禁的List里的话,你的网站应该会变得很安静的。但是那么多的禁止IP地址一个一个的输入会很麻烦,这里我介绍一个自动将你的垃圾留言和垃圾引用通告里的IP地址添加到你的IP封禁List里的插件AutoIPBan。 安装非常简单,将AutoIPBa... [阅读更多细节]

» 狂受TrackBack Ping Spam攻击 来自 BB’s Blog
  我怀疑因为昨天引用了平生一笑的文章,暴露了我博客。昨天晚上开始本站就正式和平... [阅读更多细节]

» 关于Spam对策2:tb-link-lookup插件 来自 Ikias.com
安装AutoIPBan插件之后,虽然一直在不断的朝IP封禁List里添加引用SPAM地址,但是每天还是有上百个引用SPAM过来,也不知道他们从哪里搞来那么多IP地址,不得不佩服SPAM业者们的敬业精神。车东的改脚本文件名,自己很早以前也试过,按照我的经验估计不到1个星期就会被SPAM业者们给攻陷。 tb-link-lookup.pl这个Spam对策插件很早就知道了。昨天安装到自己的Blog上试了试,今天打开网站的后台一看,一个Spam留言和引用都没有,看来效果还不错。这个插件的原理是对引用的内容里如... [阅读更多细节]

» MT HTTP error: 403 Throttled的原因和解决 来自 车东[Blog^2]
已经几个月收不到各种TrackBack Ping了,应该是升级到MT3.3以后出现的。今天查了一下Trackback功能罢工原因 - flypig.org:超出了每小时和每天的trackback有次数上限,而缺省配置文件中没有表明相应选项(缺省的没小时和每天的trackback ping的上限是10和50); OneHourMaxPings 10 OneDayMaxPings 50 每天上千的垃圾trackback很快将这个限额填满了(我的blog上目前有这个限制后平均每天只收到50多个垃圾ping... [阅读更多细节]

» 关于Spam对策3:doEntity插件 来自 Ikias.com
和SPAM进行正面冲击的同时,也可以采用躲藏的战术,即不让那些SPAM机器人发现你的引用地址。正确的说应该是让SPAM机器人去很难的识别你的引用地址。 doEntity插件就是依照上面的思路,将你的引用地址改为用实体参考(Entity reference)来书写,以达到难以识别的目的。比如说我的上一篇文章的引用地址是 http://www.ikias.com/mt-tb.cgi/194 但是你看看那篇文章后面的Source,引用地址那里显示的是 &#104;t&#116;p&... [阅读更多细节]

» 关于Spam对策4:asciiTBPingfilter插件 来自 Ikias.com
已经说了3个关于引用SPAM的插件了。希望这次是最后一次说关于SPAM插件的问题。 先说说路杨和车东都详细介绍了的TCode插件,这个插件有一个很不好的地方,就是使用一键发表书签进行投稿的时候,让我没有办法去修改他们的引用地址, 对于使用一键发表的人来说,是很不方便的。... [阅读更多细节]

» 对付SPAM的三板斧 来自 Ikias.com
以前我介绍的asciiTBPingfilter插件是对没有汉字的留言和引用都按Spam来处理。感觉这个插件太「残酷」,不... [阅读更多细节]

» 年终总结:2006 chedong.com 年终小结 来自 车东[Blog^2]
又到了年终小结的时候了: chedong.com: 网站大部分流量来源仍然是Go... [阅读更多细节]

Comments

太麻烦,我现在就用默认的插件,基本上也解决了Spam的问题

暂时还是继续用spamlookup……

$magicKey 最好自定义之,不然还是一个漏洞的说 :P

根据在Postshow上使用的经验,还是起不到多大作用,spam trackback让mt-tb.cgi占用了100%的cpu时间,站点基本瘫痪。。。

呵呵,我也装了,用起来感觉还不错
到现在为止,还没被袭

经常换换tb.cgi的地址也是一个不错的对策!

我有一个比较好地解决办法,
经试验到目前为止还没有受到Trackback Spam的干扰
具体方法请看
http://wells.osall.com/blog/index.php?uid=1&m=content&p=344

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)