自动发帖机的斗争过程防止垃圾评论的几个方法总结
自网站开放之日起,这个垃圾信息就没有消停过,而且这个垃圾发帖的时间都有一定的规律,一般是从上午9点、10点的时候开始,到下午下班前这段时间,是发帖机发动的时候,看的出来,发帖机的操作者也是一个正常上班的“好同志”。
从发帖机发布的信息来看,操作者也刻意优化了下信息内容,以免信息过于垃圾,直接导致发帖被屏蔽而失败;有时候,我看着这些内容,还真为这些操作者们拍案叫绝,因为连我差点都被这些机器发的帖子给迷惑住了。但是,从连续的几个帖子发布的时间间隔来看,有的竟然是同一秒钟发布出来的!只要你真的是个人在发贴,发一个帖子就打几个汉字怎么着也要几十秒吧。
很多时候,我不得不佩服这些发帖机的开发者们,有些发帖机的确够强悍,像伪造来路,伪造cookie等对他们来说是小case一桩,而且有的还会自动跟踪你网站的修改,自动调整。牛。
从地域来看,广东的垃圾信息真是太多了,像广州,深圳,东莞尤其厉害,我站上的大部分垃圾信息都是来自这些区域。看的出来,广东的经济发展的确很拽,但这里您要注意了,这些垃圾帖子的内容绝大部分是关于走私、水货产品什么的,您可以自己联想了,为什么广东会有这么多的垃圾信息了。
如果你的网站是采用简单防御垃圾信息的方法,可要注意了,看我分解:
1、采用来路判别 == 失败
很多网站对于机器发帖的第一步便是验证是否有合适的来路信息,然而稍微懂点程序的人都知道,无论是asp,php还是.net,jsp伪造来路信息是轻而易举。所以这招基本失效。但有总比没有好。有这个验证还是能防范一些低级发帖机的。
2、采用发帖时间判断 == 失败
从发布页(如add.asp)获得一个当前系统时间,然后用户提交信息(如提交到addok.asp)时计算用户在这个页面上的停留时间,如果过短,比如小于30秒钟,则判断为机器发帖。这招也失败了,发帖机根本不访问add.asp发布页,它直接post一个当前虚假的时间,使得这个时间远远大于30秒,所以这个方法也失效了。
3、采用cookie限制发帖次数 == 失败
程序员们知道,cookie是客户端的信息,也是可以被伪造的。比如,你采用每次发帖成功后,采用程序使得某个cookie的值加1,当这个cookie值累加到N,就拒绝在当天继续发帖。发帖机如何破解这个方法呢?其实很简单,发帖机要做的就是伪造这个cookie,使这个cookie的值永远为1,也就永远不会超过限制了。
4、使用自身的反垃圾信息过滤系统 == 有作用
把垃圾信息的关键字屏蔽掉,的确可以有效遏制机器发布恶意的垃圾帖子。但这个方法局限性很大。它只能屏蔽那些信息内容已经包含了恶意关键字的帖子,而对于伪装的帖子不起作用。
5、同一IP当日发帖数量限制 == 有作用
采用基于IP的技术防止发帖机器发帖,是有作用的,而且经过了检验。具体方法就是:判断当天发布的帖子里相同IP下所发布的帖子数量,如果这个数量大于一个数值,就限制其继续发帖。
那有人说了,不能换个IP再发啊,是的,发帖机是可以换IP发布,但是,换一次IP,就意味着它要掉一次线,而一般发帖机是多线程的,它这样做其他进程也同样无法发布了。
综上所述,防止发帖机发布垃圾信息,不能仅仅采用一种方法,如果把以上的5种方法综合利用,在防止垃圾信息横行的动作上是富有成效的。大家还可以根据第三点把cookie改造称session,这样第三个方法也能起到有效的防范作用;这样,后面三种方法一结合,就可以搭建一个比较强健的反垃圾信息系统了。如果您有其他的想法,欢迎与我交流,请留下您的评论。