资讯专栏INFORMATION COLUMN

自动发帖机的斗争过程防止垃圾评论的几个方法总结

Gilbertat / 3130人阅读

摘要:同一当日发帖数量限制有作用采用基于的技术防止发帖机器发帖,是有作用的,而且经过了检验。注本文为转载,原文链接自动发帖机的斗争过程防止垃圾评论的几个方法总结相关文章如何防止垃圾评论谈谈反垃圾

所谓魔高一尺,道高一丈。机器发帖和反机器发帖一直都是场硝烟弥漫的豪华战争。
自网站开放之日起,这个垃圾信息就没有消停过,而且这个垃圾发帖的时间都有一定的规律,一般是从上午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,就意味着它要掉一次线,而一般发帖机是多线程的,它这样做其他进程也同样无法发布了。

6、返回给客户端的错误提示信息尽量模糊

什么意思呢?比如,发布帖子,如果服务器端做了内容关键词的过滤,如果机器提交的帖子内容里边含有该关键词,则不能给客户端明确的提示,如:"Bad contents","内容里边含有非法关键词",这样攻击者就会对词语进行特殊化处理,如加空格,加一些特殊字符隔开,而应该给出比较笼统的提示"Invalid Info !" 或 "INFO ERROR !",这样攻击者就找不出具体哪里有问题,也就增大了攻击的难度。

7、如何防止被人刷验证码?
坑产品设计出来的注册/登录是可以获取手机验证码的,但是却没有加上图形验证码。然后现在我们的这个获取验证码的接口被人刷了好多下。最近一个小时足足有数千次请求,而且居然还是不同的IP和不同的手机号码....

求支招,除了加图形验证码外,怎么样防刷?

解决方案:
我能想到的,除了图形验证码:
基于手机号码,限制每天每个手机最多发N条验证码。这个貌似LZ已经加了。
基于IP,限制每天每个IP最多发N条验证码... -- 缺点:容易误杀正常用户,慎用
【究极手段】基于用户行为大数据分析
如何基于用户行为分析呢?想到一个简单的方法:
首先,正常用户除了发送验证码这个请求外,应该还会访问页面的其他资源,比如CSS/JS/HTML/图片等。
然而,如果是刷子,他可能并不会专门去访问这些个资源。
所以可以在用户访问页面的时候就记录一个human参数存在session中,每当其请求页面中的一个资源则human += 1。等到发送验证码的接口的时候,取出来这个human参数看看其值是多少,正常的一个用户这个human值应该是大于某个值的(比如5),小于的则应该就是刷子。(为0的肯定是刷子无疑)
我说的比较简单啦,更复杂点的可以顺便把几次请求之间的间隔记录下来,点击登录或注册按钮前鼠标的移动轨迹,鼠标按下收起的时间等等记录下来综合分析。
要是能引用或抄一个像google做的reCAPTCHA -- 点一下就自动识别人还是机器刷子 -- 就好了。

综上所述,防止发帖机发布垃圾信息,不能仅仅采用一种方法,如果把以上的5种方法综合利用,在防止垃圾信息横行的动作上是富有成效的。大家还可以根据第三点把cookie改造称session,这样第三个方法也能起到有效的防范作用;这样,后面三种方法一结合,就可以搭建一个比较强健的反垃圾信息系统了。

注:本文为转载,原文链接:
自动发帖机的斗争过程防止垃圾评论的几个方法总结

相关文章:
如何防止垃圾评论
谈谈反垃圾

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21950.html

相关文章

  • [打怪升级]小程序评论回复和发贴功能实战(一)

    摘要:往期回顾打怪升级小程序评论回复和发贴功能实战二填坑手册小程序生成海报一拆弹时刻小程序生成海报二填坑手册小程序目录结构和组件使用心得 showImg(https://segmentfault.com/img/remote/1460000019733090?w=818&h=516); 在学习成长的过程中,常常会遇到一些自己从未接触的事物,这就好比是打怪升级,每次打倒一只怪,都会获得经验,让...

    YJNldm 评论0 收藏0
  • 纽约蹭饭手册:怎样利用Python和自动化脚本在纽约省钱又省心?

    摘要:会解释怎样使用逻辑回归,随机森林,和自动化脚本,但都不会深入。这使我在纽约地区积累了超过名粉丝,并且仍在快速增长。我收集了个帐户,这些帐户发布了许多关于纽约的优质图片。以下面这两篇帖子为例这两个帖子来自同一个纽约的帐户。 showImg(https://segmentfault.com/img/remote/1460000019393373); 在家做饭不下馆子可以减少开支已经是公开的...

    Xufc 评论0 收藏0
  • HTML使用几个小知识点

    摘要:本文主要分享几个网页前端的几个基础知识点,用于零碎的知识学习,同时也是在实践中的一些心得。俄奥斯特洛夫斯基展示幼圆人最宝贵的东西是生命。本文主要分享几个网页前端的几个基础知识点,用于零碎的html知识学习,同时也是在实践中的一些心得。最后给出了几个小例子。 1. 网页编程初识 掌握基本的html标签以及CSS语法 学会查看网页的源代码F12 生活中多总结一些基本的美好的东西 2. 页面定...

    asoren 评论0 收藏0
  • 探讨微博时间流的实现

    摘要:微博系统的推模式和拉模式实现推拉结合推数据和拉数据都有什么优缺点在用户的信息流中,推数据的实现其实更简单。姚晨发了条微博,只需要取出姚晨粉丝的信息流,依次推给粉丝就了。简单介绍了我对时间流的看法只是我个人的认识,不知道微博具体是如何实现的。 微博feed系统的推(push)模式和拉(pull)模式实现timeline 推拉结合 推数据和拉数据都有什么优缺点?在用户的信息流中,推数据的实...

    Kylin_Mountain 评论0 收藏0
  • 深入理解Java虚拟机到底是什么

    摘要:由虚拟机加载的类,被加载到虚拟机内存中之后,虚拟机会读取并执行它里面存在的字节码指令。虚拟机中执行字节码指令的部分叫做执行引擎。 什么是Java虚拟机? 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠...

    宋华 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<