此文仅是原理说明,具体防SPAM的最终策略请看:
“防SPAM的策略(最终版):使用JavaScript对付SPAM”
我一直觉得垃圾引用的问题不在于对引用性质的识别,而是如何让那些机器人无法抓取真实的引用地址,使之不会给服务器造成过大的负荷。
今天我要介绍的防止引用SPAM的策略(2):让机器人在HTML源码中无法找到引用URL
1、删除“单篇日记归档”中的<$MTEntryTrackbackData$>标签,Sixapart User Manual:关于 MTEntryTrackbackData是这样解释的
Outputs the machine-readable TrackBack RDF for "pinging" corresponding to the entry.
其作用是,所以我们需要删除这个标签,让机器人无法从源码中找到应用地址,而也就是说,这个函数的用处就是为了让引用的URL地址能够被机械自动的取得。一个对想引用这篇文章投稿的人来说,是个很有用的功能,但是它却成为了Spam机器人的MT重要入口处。
2、安装doEntity插件,这个插件是将你的引用地址改为用实体参考(Entity reference)来书写,以达到难以识别的目的。
比如说我的上一篇文章的引用地址是
http://blog.blogcs.org/trackback_mt-tb.cgi/1779.1387312851
但是你看看那篇文章后面的Source,引用地址那里显示的是
http://blog.blogcs.org...
这个插件安装很简单,到这里下载doEntity插件,解冻的文件名改为doentity.pl之后上传到你的Plubins文件夹里,然后
将引用地址的
<$MTEntryTrackbackLink$>
改为
<$MTEntryTrackbackLink doentity="1"$>
其中 doentity="1"对其他标签也适用,就是说只要在MT标签后面添加 doentity="1"就能让URL变成实体参考(Entity reference)。
最后再重新构筑一下你的Blog就可以了。











