怎么解决恼人的Trackback Spam?
[ 2006-06-14 17:33:14 | Author: moneywood ]
利用Blog这个媒介来散播垃圾信息,在现在这个blog越来越普及的时代已经是垃圾制造者们的新宠。
因为blog的互动性(也就是所谓的Web2.0特性吧),让任何人都可以窜改你的网页,留下自己的痕迹。而制造垃圾的方式无外乎两种:一是垃圾留言;二是垃圾引用(Trackback)。google推出的nofollow这个tag虽然让这些垃圾都失去了根本的作用,但是没有一个blog的主人愿意看见自己的文章下面铺满了尸体。
垃圾留言的防范比较简单,只要输入验证码就可以抵挡住所有的robot攻击。当然人肉引擎是没办法抵挡的,不过威力自然要小很多,你也以牙还牙就好。
trackback的问题比较讨厌,我自去年底开始受到这个东西的困扰。一开始仅仅在几篇文章下面反复出现一下垃圾trackback,我顺手就能删除;后来慢慢的发展到大多数的老文章都没办法幸免,基本上每篇都被贴了狗皮膏药。
这两个月情况月来月糟糕了,每天都有几十个垃圾trackback过来,手工根本来不及删除,想必我的这些引用地址已经存在于某些数据库当中了。我动过去掉引用的念头,不过因为偶尔还是会有trackback过来,所以这个念头还是放弃了。
我今天突然想了一下,为什么我的blog会遭此攻击,为什么我的这些引用地址会出现在垃圾制造者的黑名单当中。那么反过来,如果你是一个垃圾制造者你会怎么找寻猎物呢?
首先要了解所有主流的blog提供商或者blog程序,如果他们不提供trackback,比如新浪,那么排除。
接下来看看这些提供trackback服务的程序是怎么实现trackback的。trackback这个协议很简单,没有验证的功能。只要你发送一个合法的ping过来,程序是必须接收的。只要找到执行这个功能的程序文件并且找到每一篇文章引用地址的规律就可以了。
这就是现在LBS^2以及其他一些blog程序的软肋所在。每一种程序执行引用功能的程序文件名字都是 每一篇文章的引用地址都是以程序文件名字加上数字ID的形式出现的。 而数字又是顺序排列的,只要找到一篇文章的引用地址就能上下求索,获得整个blog所有的引用地址,连爬虫都省掉了。
所以坏蛋们只要先google一下,找到一堆使用LBS^2的blog(当然还可以加上pagerank要求等等),把trackback.asp文件的位置找到,然后就可以从id=1开始ping,有反馈的就记录在案,直到连续100个数字没有反馈就认为到了尽头。然后的任务就是疯狂的作案了。
那么我们怎么办?
如果我们假定这一切都是一个程序在运转没有人为介入的话,利用程序的不足我们一样可以找到对策。
其实最简单的方法就是改掉trackback程序文件的名字。随便换个名字(比如我现在是tbk.asp,)就可以让你不被google到。下面的一切也不会发生了。
更进一步就需要改动一下程序了。我的想法是借鉴一下防止垃圾评论的验证码。让每一个trackback地址本身就带有一个验证码,例如新的引用地址变成: 这个验证码是在生成每一篇日志的时候就产生的,存放在数据库当中。如果发送过来的ping不带这个码或者错误,就不显示。
如果结合随机文件名和引用验证码,我相信能挡住99%的机器人发动的攻击。不过如果有人盯住了你的blog,那还是奉劝你关掉引用功能吧。
Comments Feed: http://www.mulog.org/mulog/feed.asp?q=comment&id=640
Trackback URL: http://www.mulog.org/mulog/trackback.asp?id=640&key=321mulog
因为blog的互动性(也就是所谓的Web2.0特性吧),让任何人都可以窜改你的网页,留下自己的痕迹。而制造垃圾的方式无外乎两种:一是垃圾留言;二是垃圾引用(Trackback)。google推出的nofollow这个tag虽然让这些垃圾都失去了根本的作用,但是没有一个blog的主人愿意看见自己的文章下面铺满了尸体。
垃圾留言的防范比较简单,只要输入验证码就可以抵挡住所有的robot攻击。当然人肉引擎是没办法抵挡的,不过威力自然要小很多,你也以牙还牙就好。
trackback的问题比较讨厌,我自去年底开始受到这个东西的困扰。一开始仅仅在几篇文章下面反复出现一下垃圾trackback,我顺手就能删除;后来慢慢的发展到大多数的老文章都没办法幸免,基本上每篇都被贴了狗皮膏药。
这两个月情况月来月糟糕了,每天都有几十个垃圾trackback过来,手工根本来不及删除,想必我的这些引用地址已经存在于某些数据库当中了。我动过去掉引用的念头,不过因为偶尔还是会有trackback过来,所以这个念头还是放弃了。
我今天突然想了一下,为什么我的blog会遭此攻击,为什么我的这些引用地址会出现在垃圾制造者的黑名单当中。那么反过来,如果你是一个垃圾制造者你会怎么找寻猎物呢?
首先要了解所有主流的blog提供商或者blog程序,如果他们不提供trackback,比如新浪,那么排除。
接下来看看这些提供trackback服务的程序是怎么实现trackback的。trackback这个协议很简单,没有验证的功能。只要你发送一个合法的ping过来,程序是必须接收的。只要找到执行这个功能的程序文件并且找到每一篇文章引用地址的规律就可以了。
这就是现在LBS^2以及其他一些blog程序的软肋所在。每一种程序执行引用功能的程序文件名字都是
Quote
trackback.asp
Quote
http://www.mulog.org/mulog/trackback.asp?id=1234
所以坏蛋们只要先google一下,找到一堆使用LBS^2的blog(当然还可以加上pagerank要求等等),把trackback.asp文件的位置找到,然后就可以从id=1开始ping,有反馈的就记录在案,直到连续100个数字没有反馈就认为到了尽头。然后的任务就是疯狂的作案了。
那么我们怎么办?
如果我们假定这一切都是一个程序在运转没有人为介入的话,利用程序的不足我们一样可以找到对策。
其实最简单的方法就是改掉trackback程序文件的名字。随便换个名字(比如我现在是tbk.asp,)就可以让你不被google到。下面的一切也不会发生了。
更进一步就需要改动一下程序了。我的想法是借鉴一下防止垃圾评论的验证码。让每一个trackback地址本身就带有一个验证码,例如新的引用地址变成:
Quote
http://www.mulog.org/mulog/tbk.asp?id=1234&code=67no1hcd43
如果结合随机文件名和引用验证码,我相信能挡住99%的机器人发动的攻击。不过如果有人盯住了你的blog,那还是奉劝你关掉引用功能吧。
[Last Modified By moneywood, at 2006-06-16 20:21:17]
Comments Feed: http://www.mulog.org/mulog/feed.asp?q=comment&id=640
Trackback URL: http://www.mulog.org/mulog/trackback.asp?id=640&key=321mulog




现在还在考虑下个版本的 spam filter 怎么设计好. asp 效率不够.
现在我也有spam烦人的问题,不过还不是很严重。
方法见:http://www.dreammx.com/xhyl/?id=322
于是想找个补丁什么的改进一下,没找到什么补丁但在一位朋友的BLOG上看到一篇关与怎么解决Trackback Spam问题的文章。
于是决定自己改进一下,在trackback的地址上加了一个验证ID。
应该可以防止一些群...
你的想法和我类似,
不过对于便利网站扫描页面截取链接的垃圾工具,这个方法就行不通了,
后来我想出了一个解决方法,
具体请看这篇文章
http://wells.osall.com/blog/index.php?uid=1&m=content&p=344
你的想法和我类似,
不过对于便利网站扫描页面截取链接的垃圾工具,这个方法就行不通了,
后来我想出了一个解决方法,
具体请看这篇文章
http://wells.osall.com/blog/index.php?uid=1&m=content&p=344
不过以我的经验来看,加上一个固定的后缀足矣,我现在这样已经有很多天没有垃圾trackback了。