php限制恶意提交
PHP中文网
PHP中文网 2017-04-10 16:18:30
[PHP讨论组]

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

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

认证0级讲师

全部回复(4)
怪我咯

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

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

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

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

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

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

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

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

巴扎黑

可以试试极验验证

黄舟

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

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号