前一段时间刚看到keso与phpx.com事件,这几天就相继有北辰swearl 反应被人用Trackback骚扰了。我这里虽然大体平静,但也偶然会有几个spammer光顾。看起来,继评论、留言本之后,广大spammer又发现新的战场了。

最容易被Trackback Spam利用的一点是Trackback URL的连续性,phpx的老大就是利用了这一点。大多数blog程序在设计的时候,Trackback ID都是连贯的,举例如下所示:
http://127.0.0.1/test/tb.php?t=1
http://127.0.0.1/test/tb.php?t=2
http://127.0.0.1/test/tb.php?t=3
http://127.0.0.1/test/tb.php?t=4
显然这样的设计,对于自动发送spam的程序来说真是太爽了。

现在的问题就是怎么去改进。改动ID的规则,改连续为随机,这是个解决方法。但是这样的改动不算小。而且,连续性的ID之所以受到欢迎是有原因的,比如管理起来很方便,比如可以利用SQL现成的auto_increment生成等。所以,最好能在不变动ID的情况下防范自动spam。

那就只能给Trackback加上一个“验证码”。在原有的trackback地址之外添加一个参数,并在接受trackback时验证。

我现在的做法是:取日志的ID,再取日志发布时间的Unix时间戳记,两者连接后作md5计算,截取md5字串的开头一部分作为验证码。PHP程序大致如下:
<?php
function tbcertificate ($blogid$pubtime) {
    
$str=substr(md5($blogid.$pubtime), 05);
    return 
$str;
}
?>

trackback的地址变成:
http://127.0.0.1/test/tb.php?t=1&extra=400e6
http://127.0.0.1/test/tb.php?t=2&extra=fa933
http://127.0.0.1/test/tb.php?t=3&extra=349d2
……

如果是防范自动推导Trackback地址并发送spam的程序,那么至此已经可以解决问题了。我想大部分spam都是这样的程序发送的。

当然,有可能魔高一丈。比如说在知道了验证码的算法后,spam程序依然可以从rss等地方提取出时间和ID这两个值来,自动推算出验证码。不过我想暂时地,不会有那么无聊的人士做这样的事情的。而且对策也不是没有。我们可以自设一个密码字符,加入到被md5计算的字符串中去。不过(-_-)spammer实在没辙了还可以直接上你的网站“采集”trackback地址啊。这个怎么解决呢?好吧,如果真有那么一天,我只能用javascript来生成地址了……(至于么......)
Tags: , , ,
shenzhe Homepage
2007年11月6日星期二 09:30
人是活的..机器总是死的..
所有一切的方法都是枉然.
对月听风 Email Homepage
2007年2月12日星期一 13:26
老大救命哟~~~我的BLOG不能浏览日志呀:
例如:hppt://www.eiihome.com.cn/read.php/15.htm
出现这种情况是为什么呀,有什么好的办法处理呀!
怎么解决恼人的Trackback Spam?
[2006年6月14日星期三 17:33]
来源:呆若木鸡..
内容:利用Blog这个媒介来散播垃圾信息,在现在这个blog越来越普及的时代已经是垃圾制造者们的新宠。因为blog的互动性(也就是所谓的Web2.0特性吧),让任何人都可以窜改你的网页,留下自己的痕迹。而制造垃圾的方式无外乎两种:一是垃圾留言;二是垃圾引用(Trackback)。googl...
Homepage
2006年6月11日星期日 01:35
朋友的推薦來到這邊
由於我用的系統tt 1.05目前也正被機器人攻擊
參考了您的概念之後我也成功的將機器人阻止掉了
所以特地來這謝謝您提供的想法

thx!
狗狗
2006年5月28日星期日 14:53
2.0X版本怎样了?出来了吗? 每天都有一大堆的垃圾引用,该怎样办?
786568
2006年5月18日星期四 12:11
支持楼主。
红外热像仪 Homepage
2006年5月9日星期二 23:34
javascript一样的
浪漫海儿
2006年4月30日星期日 00:02
1.7的版本怎么办呢,

一直在等补丁出来啊。没钱买MYSQL,所以也没办法用2.0的版本。

等啊等啊。我的亲爱的补丁出来啊。。
yumengcool Email Homepage
2006年4月29日星期六 19:36
很高兴的告诉bob和广大的网友
我的修改是成功的,可以成功发送引用,接收引用
http://www.ewjy.com/read.php?53
bob 回复于 2006年5月1日星期一 13:03
:)
yumengcool Email Homepage
2006年4月29日星期六 19:22
致bob:
这两天我也受到trackback spam的骚扰了,然后我就照着你的这个贴做了一个修改,请bob对我的修改做一下肯定,我在本机上试过是成功的,修改上传到服务器上后,可收到引用,但是我发到此贴的引用却没有显示出来。
我的修改的说细细节在:http://www.ewjy.com/read.php?53

致广大的bo-blog爱好者:
如果你也对我的话题感兴趣的话,也可以参与讨论
关于我如何做的修改在地址:
http://www.ewjy.com/read.php?53
可以查看!
分页: 1/4 第一页 1 2 3 4 下页 最后页


Powered by Bo-Blog 2.1.1 ReleaseCode detection by Bug.Center.Team
沪ICP备05032643号

© 2008 博睿智 Marshal Design Bo-blog offcial theme