TCode for MT 是 CCode and TCode for MT的关于 防范 TrackBack SPAM 的组成部分。
随着最近网络上的 TrackBack SPAM 大规模卷土重来,装这个 MT plugin 的同好者越来越多,偶也 TrackBack SPAM 受害者之一,也装了这个plugin,在安装和使用中有些体会,写下来于各位同享之。
1。工作原理分析:
开始一直以为这个插件(plugin)的原理是加长TrackBack ID 的长度,让Spam 机器人没有难以猜测其ID来达到Anti SPAM 的目的。
看了原文件后发现是个片面的认识,其防范办法是两个方面的,一的确是增加ID的干扰码,也就是加长TrackBack ID 的长度,但是这个干扰码不是所谓的随机产生的,而是根据其Blog的发表日期换算出来的唯一数。
二是重写MT关于TrackBack的几个默认标签。让TrackBackLink分成了两部分,其中一部分是文本输出,而剩余的部分是由JS输出,这样的好处也是其高明的地方就是阻止SPAM机器人通过抓取网页来分析TrackBackLink,举个例子来说,比如我的一篇 Blog 的 TrackBackLink在安装Tcode以前的是:
http://easun.org/cgi-bin/mt/tb4es.cgi/235
而安装Tcode后该Blog的 TrackBackLink 就变成了
http://easun.org/cgi-bin/mt/tb4es.cgi/235.1464512337。
但是在显示这个TrackBackLink的时候,
http://easun.org/cgi-bin/mt/tb4es.cgi/235.部分是直接显示的,而1464512337部分是由JS
<script type="text/javascript">
obfuscator('ENzNSEveeK', 'wp2qBbOx6yWovMLmr1zRCiVJgXsEnFc0jPA4u5Hdh378TN9SDQteKfaUGYlZIk', '__MTTBLINK__', '', '');
</script>
来完成输出的,这样的情况下,如果是正常的Track,是通过浏览器获取这个地址的,几乎所有的浏览器都支持JS,所以,得到正确的TrackBackLink:
http://easun.org/cgi-bin/mt/tb4es.cgi/235.1464512337,
而抓网页的SPAM机器人一般都是不解释js的,所以它只能获取部分(不真实的)TrackBackLink :
http://easun.org/cgi-bin/mt/tb4es.cgi/235,
而这个地址刚好是MT默认的TrackBack地址,so也骗过了SPAM 机器人的自我检验模块:)
PS:其实,CCcode部分也是利用JS完成类似功能的。只是我们再介绍Tcode而已。
2。TCode的小问题和使用注意事项:
通过代码可以知道,作者阿郎对SPAM的认识很到位,但是可能是为以后功能升级准备吧,留下了一些比较容易被SPAM机器人攻破的不足。
最大的问题就是magicKey问题,阿郎给Tcode设定可一个所谓的“魔法数值”,默认情况下这个数值是
your ping is to be moderated, so please dont't send repeatedly,这个数值的设定可以1.让用户选择不生成干扰码,而用原始的TrackBackLink加上小数点加上这个key来ping加上Tcode的Blog。2在rdf:ping中显示不同于加干扰码的Ping地址。
所以说,不管是否有无干扰码,magicKey总是优先,也就是,你安装了Tcode,而没有改掉magicKey的话,我直接可以可以通过
http://youwebsite/cgi-bin/mt/mt-tb.cgi/[YouID].your ping is to be moderated, so please dont't send repeatedly来直接给你TrackBack,而根本不用关心你加了TCode后的新的TrackBackLink是什么!
所以。。这个很容易被高级点的SPAM 机器人利用。解决办法也很简单,修改 Tcode.pl中 $magicKey的数值为你定义的一个复杂的字符串。
另外,干扰码的生成是固定的,通过Blog的发布日期换算出来的,所以。。通过SPAM机器来换算出来这个数字也不是什么难事。只是本plugin的通过JS伪装成原始MT TrackBakLink 的功能骗过了 Spam 机器人的进一部分析。
总的来说,这个plugin是我们对付 TrackBak SPAM 的利器。推荐大家使用。
还好,目前为止没发现有这么高级的机器人,不过,还是回去马上改掉。
我用这个插件有段时间了,和使用前相比真是天壤之别. 但还是发现有些垃圾可以闯过来,只是数量很少.估计是出现了高级的机器人:(
赶快改过来.
>>Dear leavic: 不怕高级的,就怕不判断的,连续测试性质的SPAM:)
>>Dear Yang:也许同时使用Ikias介绍的AutoIPBan插件会好点。SPAM猛于虎啊 :P
地址: http://www.ikias.com/2006/11/spam.html
唉,真给你说中了,可是我明明已经修改过tcode.pl了,而且还自己测试了一下新的地址,没想到今晚还是收到了七八条spam,不过只持续了几分钟而已。
高级机器人,不过,有没有可能是插件临时停止工作?
>>Dear leavic:我觉得同时启用AutoIPBan会保险点:) 现在SPAM的花样太多。
又是一篇好文章!
在路杨这里受国几次刺激了
YangKang兄谬赞 :) 我只是随笔写下自己的理解而已 :P
道是你那里的资源,MT教程写的很详细哦 :)
之所以不想用autobanip,是担心这东西杀伤力太强,万一影响别人正常trackback就不好了。
以前在别人的blog(还好是wp的)上,因为我用maxthon2,在评论提交时的数据包和其他浏览器不太一样,结果每次提交后就被一个反垃圾插件封IP,还一直都以为是dreamhost的问题。
那叫一个凄凉啊。。。。
其实,只要不出现过去那样一整天持续的spam攻击,偶尔来上两条spam也还受得了。
早上给这篇文章发了一个引用,不知道成功不成功。
我暂时没有漏网的垃圾tb
所以,先维持现状,在后台隔一天就删除一次大概300条垃圾引用吧。。。。
总觉的很长的地址放在页面上有点难看
Dear leavic: autobanip实际上不会auto,所以。这个名字并不贴切,也许叫 QuickBanIP比较好,所以你的担心不会发生的:)
Dear dimlau: 恩。这个如果不严重的话,无所谓拉 :P
这东西就跟闯进城的小批强盗一般,掠夺一番就马上走人。刚才又是9个TB spam,看来还真是要装上auto ban ip才行。
没有用的,人家就从你http://easun.org/的Blog站点首页开始着手,你连接总是有吧,直接LWP或Socket得到所有连接,从后台看缓存,看你的连接进行筛选,如果你的MT连接变了,这边会根据缓存有个错误输出,会重新更新连接,我没有用过spam插件,不知道spam机器人为什么这么愚蠢.嘿嘿
还要验证,晕晕的。路杨加个验证码吧,这样也能防止机器人自动灌水。
14楼的显然对SPAM和网页抓取存在认识不足,另外估计也没有仔细看这篇Blog。
PS:近来依然经常加班??
确实有点用,不过还在试验中
加班很烦.
我一般自写程序做抓取的工具,你看看我抓的你的MT的文章吧~ 很简陋,还不如你说的spam.
兄弟,有段时间没有更新了.我自己也是.不知道是忙还是和我一样不知怎么写了.希望有你的消息.祝你顺利!
Dear Yang:
近来先是出差,又是年底,琐事比较多,所以啊。。有段时间没有更新了:)
打算本周周末恢复吧。呵呵。
Dear cnangel:
抓Web页面很简单,关键是分析。你试试从中分析我的Tb地址吧。
另外,SPAM系统最重要的是低资源占用和效率和通用性,这个就决定了他不会对某个特定的Hack版本来具体分析优化算法。
PS:对于你的采集系统,我的意见,相信你看见了吧。别用我的ID发布...