欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php限制恶意提交

程序员文章站 2022-06-10 14:02:03
...
现在在完善网站的评论系统, 由于设计时是不想让用户输入验证码的, 但是最近一段时间发现被恶意用户恶意刷评论,我刚开始也是做了限制,例如用户必须登录才能发表评论(前期是可以匿名评论的),关键词过滤,IP地址过滤,垃圾评论检测, 但是现在有的恶意用户,为了刷那每天的50分,注册了几百个账号(目前检查出来的,已经禁止这部分用户了),然后用每个账号循环着发表内容(由于发现这些账号都在同一IP地址上,所以已经禁用了这个IP,但是只能管一时,过了几天IP地址换了,又大批量的开始发了),搞的小弟头疼啊。
大家有没有对于恶意提交比较的建议,跪求指点迷津...

回复内容:

现在在完善网站的评论系统, 由于设计时是不想让用户输入验证码的, 但是最近一段时间发现被恶意用户恶意刷评论,我刚开始也是做了限制,例如用户必须登录才能发表评论(前期是可以匿名评论的),关键词过滤,IP地址过滤,垃圾评论检测, 但是现在有的恶意用户,为了刷那每天的50分,注册了几百个账号(目前检查出来的,已经禁止这部分用户了),然后用每个账号循环着发表内容(由于发现这些账号都在同一IP地址上,所以已经禁用了这个IP,但是只能管一时,过了几天IP地址换了,又大批量的开始发了),搞的小弟头疼啊。

大家有没有对于恶意提交比较的建议,跪求指点迷津...

根据我多年的防刷经验,图片验证码仍然是性价比最高的防刷手段。

即使通过注册账号来防刷,机器人自动注册大量小号,然后你又需要在注册那边防刷,实际上是同一个问题。

如果可以不用自己的账号,而是使用第三方账号系统的话,会好一些,比如只允许新浪微博或者微信账号验证之后再提交,这样的话,账号防刷的问题实际上是抛给了新浪或者微信来解决。

回到图片验证码的解决方式上,问题的核心在用户友好性上,这里是存在改进余地的。

比如,根据IP段,如果这个IP段之前没有做过任何提交或提交次数小于n,允许无图片校验码直接提交,如果这个IP段之前产生过n次提交,就必须要图片验证码。

IP段的提交次数可以放到缓存计数器内,如果超过m秒,这个缓存就失效。

如果你的用户都是分散在不同的IP段上,实际上大量的用户是不会被图片验证码打扰到的。

这个方案无法抵抗持有大量代理的刷子,你只能通过减少n,增加m的方式来减少无效数据的产生。

可以试试极验验证

注册门槛提高,可以用手机号做验证,或者提交的时候用验证码等方式

在提交评论时,可以设置时间间隔

相关标签: php