现在在完善网站的评论系统, 由于设计时是不想让用户输入验证码的, 但是最近一段时间发现被恶意用户恶意刷评论,我刚开始也是做了限制,例如用户必须登录才能发表评论(前期是可以匿名评论的),关键词过滤,IP地址过滤,垃圾评论检测, 但是现在有的恶意用户,为了刷那每天的50分,注册了几百个账号(目前检查出来的,已经禁止这部分用户了),然后用每个账号循环着发表内容(由于发现这些账号都在同一IP地址上,所以已经禁用了这个IP,但是只能管一时,过了几天IP地址换了,又大批量的开始发了),搞的小弟头疼啊。
<code>大家有没有对于恶意提交比较的建议,跪求指点迷津...</code>
现在在完善网站的评论系统, 由于设计时是不想让用户输入验证码的, 但是最近一段时间发现被恶意用户恶意刷评论,我刚开始也是做了限制,例如用户必须登录才能发表评论(前期是可以匿名评论的),关键词过滤,IP地址过滤,垃圾评论检测, 但是现在有的恶意用户,为了刷那每天的50分,注册了几百个账号(目前检查出来的,已经禁止这部分用户了),然后用每个账号循环着发表内容(由于发现这些账号都在同一IP地址上,所以已经禁用了这个IP,但是只能管一时,过了几天IP地址换了,又大批量的开始发了),搞的小弟头疼啊。
<code>大家有没有对于恶意提交比较的建议,跪求指点迷津...</code>
根据我多年的防刷经验,图片验证码仍然是性价比最高的防刷手段。
即使通过注册账号来防刷,机器人自动注册大量小号,然后你又需要在注册那边防刷,实际上是同一个问题。
如果可以不用自己的账号,而是使用第三方账号系统的话,会好一些,比如只允许新浪微博或者微信账号验证之后再提交,这样的话,账号防刷的问题实际上是抛给了新浪或者微信来解决。
回到图片验证码的解决方式上,问题的核心在用户友好性上,这里是存在改进余地的。
比如,根据IP段,如果这个IP段之前没有做过任何提交或提交次数小于n,允许无图片校验码直接提交,如果这个IP段之前产生过n次提交,就必须要图片验证码。
IP段的提交次数可以放到缓存计数器内,如果超过m秒,这个缓存就失效。
如果你的用户都是分散在不同的IP段上,实际上大量的用户是不会被图片验证码打扰到的。
这个方案无法抵抗持有大量代理的刷子,你只能通过减少n,增加m的方式来减少无效数据的产生。
可以试试极验验证
注册门槛提高,可以用手机号做验证,或者提交的时候用验证码等方式
在提交评论时,可以设置时间间隔