怎么解决恼人的Trackback Spam?

[ 2006-06-14 17:33:14 | Author: moneywood ]
Font Size: Large | Medium | Small
 利用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程序的软肋所在。每一种程序执行引用功能的程序文件名字都是
Quote
trackback.asp
 每一篇文章的引用地址都是以程序文件名字加上数字ID的形式出现的。
Quote
http://www.mulog.org/mulog/trackback.asp?id=1234
 而数字又是顺序排列的,只要找到一篇文章的引用地址就能上下求索,获得整个blog所有的引用地址,连爬虫都省掉了。
 所以坏蛋们只要先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
 这个验证码是在生成每一篇日志的时候就产生的,存放在数据库当中。如果发送过来的ping不带这个码或者错误,就不显示。

 如果结合随机文件名和引用验证码,我相信能挡住99%的机器人发动的攻击。不过如果有人盯住了你的blog,那还是奉劝你关掉引用功能吧。
[Last Modified By moneywood, at 2006-06-16 20:21:17]
Comments Feed Comments Feed: http://www.mulog.org/mulog/feed.asp?q=comment&id=640
UTF-8 Encoding Trackback URL: http://www.mulog.org/mulog/trackback.asp?id=640&key=321mulog

View Mode: Show All | Comments: 9 | Trackbacks: 2 | Toggle Order | Views: 53848
Quote sic
[ 2006-06-14 17:38:41 ]
其实大多数 spam 程序都是蜘蛛爬出来的 trackback 地址.
现在还在考虑下个版本的 spam filter 怎么设计好. asp 效率不够.
Quote apple虫*
[ 2006-06-14 19:37:59 ]
能详细的讲一下如何改trackback程序文件的名字么?我不懂代码式着改了trackback.asp这个文件的名字,可是页面显示不正常,能讲一下么? [sweat]
Quote moneywood
[ 2006-06-14 20:10:34 ]
Quotes From apple虫
能详细的讲一下如何改trackback程序文件的名字么?我不懂代码式着改了trackback.asp这个文件的名字,可是页面显示不正常,能讲一下么?
[sweat]
方法很简单,在程序目录下面(记住必须包含子目录)找寻所有"trackback.asp"字符串(记住是寻找字符串不是寻找文件名,而且要全字匹配),然后统统替换成比如"tbk.asp",就可以了。
Quote apple虫*
[ 2006-06-15 10:29:16 ]
[lol] 多谢你啦 我去换了试试~~~
Trackback SPAM Robot 和人民战争
[ 周曙光的口诛笔伐 | 2006-06-16 04:10:16 ]
看到飞猪和MoneyWood正为SPAM而烦恼,我就忍不住因为我是Wordpress用户而庆幸。因为我的BLOG以前也有被SPAM Robot 轰炸的烦恼,每天收到近百条英文的留言和引用待审核,几天不上网,我就得从N个...
Quote singlesinger*
[ 2006-07-13 15:12:38 ]
我去wordpress.com注册,居然打不开……
现在我也有spam烦人的问题,不过还不是很严重。
Quote 星辉一冷*
[ 2006-07-24 11:15:15 ]
仅需修改两句代码即可实现简单抵制spam
方法见:http://www.dreammx.com/xhyl/?id=322
Trackback 关与Trackback Spam的问题的更新
[ HANLEI'BLOG | 2006-10-22 10:41:57 ]
新几天突然发现一篇文章的trackback竟有1000多,一看全是垃圾广告。
于是想找个补丁什么的改进一下,没找到什么补丁但在一位朋友的BLOG上看到一篇关与怎么解决Trackback Spam问题的文章。
于是决定自己改进一下,在trackback的地址上加了一个验证ID。
应该可以防止一些群...
Quote wells*
[ 2006-12-14 09:39:56 ]
我最近也在研究这个问题,
你的想法和我类似,
不过对于便利网站扫描页面截取链接的垃圾工具,这个方法就行不通了,
后来我想出了一个解决方法,
具体请看这篇文章
http://wells.osall.com/blog/index.php?uid=1&m=content&p=344
Quote moneywood
[ 2006-12-14 22:19:12 ]
Quotes From wells
我最近也在研究这个问题,
你的想法和我类似,
不过对于便利网站扫描页面截取链接的垃圾工具,这个方法就行不通了,
后来我想出了一个解决方法,
具体请看这篇文章
http://wells.osall.com/blog/index.php?uid=1&m=content&p=344
你这个方法已经无敌了。
不过以我的经验来看,加上一个固定的后缀足矣,我现在这样已经有很多天没有垃圾trackback了。
Quote moneywood
[ 2007-01-01 00:14:21 ]
我的blog算是给人盯上了,一天就有4000多个垃圾trackback,没办法,现暂时关闭引用,等风声过去吧。唉~

Post Comment
Smilies
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[yes] [no] [heart] [sad]
Enable UBB Codes
Auto Convert URL
Show Smilies
Hidden Comment
Username:   Password:   Register Now?
( 直接填写用户名即可发表评论,无须输入密码。)
Security Code * Please Enter the Security Code