话题起头比较大,说明一下,写这篇的起因,论坛最近经常被新用户发布一些不相关的帖子,也没有一定的规律,
而基本都是新注册的用户,还都绑定手机的,起初我们用的是短信验证码,查了一下几天注册的手机号全都是批量的短信虚拟手机号,都打不通,
看了一下,它的请求UA和referer,不象是正常的UA,referer信息也不正确,基本能确定是灌水机类的进行的发帖子,
进行了3块的加强工作,
1. 换成了手机语音验证码,观察了几天,API的请求有1/3的请求是失败的,减少了很大的请求
2. ua判断,将一些常见的UA写入,如果不是常用,先进行邮件报警观察一下
3. referer与cookie的,加强也能杜绝一部分,不过都是治标的办法
临时解决了一下,机器发的代码还好相对好处理的,如果是人工灌水那成本会大一些,针对机器发的,须根据系统的运营情况与用户帖子量等进行设定不同规则。
下面总结一下,常见的一些预防方法和我们的办法,欢迎补充。
发帖子的流程:
预防方法:
用户: 验证码,TTF随机颜色与字体(新传了两种TTF字体) 手机(短信)语音验证码 限时注册的 IP 列表,24小时(能指定C段) 密码强度(3-15个字符) 用户组(极验,双重验证码) 发布前: 两次发表时间间隔,10秒 验证码,TTF随机颜色与字体(新传了两种TTF字体) 词语过滤,禁止,审核,替换关键词(每年网监会提供) token机制 未执行页面JS UserAgent refer, cookie 发布后: 阿里内容安全 用户举报 重复内容规则(特殊内容,比如“\&\#22992;”)发帖间隔,数量,标题规律等 暗审(审核状态只有他的IP和IP C段可查看) 上下班审核机制(19点到8点发布的涉及敏感的全部审核状态) 人工: 人工审核
从图上的3块做一下防御,用户注册那块,发布前,发布后。重点是发布后的一些及时有效的处理。
by bin