|
|
最近在折腾 Xiuno 论坛的反垃圾、反灌水和风控配置,踩了不少坑,也算摸出了一套“够用、少误杀、能落地”的思路。简单分享,供同样被广告机和脚本折磨的站长参考。
先说总体策略:别指望一道规则解决所有问题,要“入口限流 + 行为评分 + 事后处置”三层并行。入口层负责挡掉最粗暴的脚本和国外肉机;行为层用规则细抠“像
机器”的特征;事后层则把漏网之鱼快速处置、复盘优化。三层思路稳定了,再去细抠每一层的取舍。
入口限流这块,我的做法是按来源和速率双因子。来源上,直接用 CDN 或 Web 服务器层的 IP 黑名单、国家/地区封禁,先把明显无关的海外流量挡掉(如果你的受众本来就只在国内)。再叠一层 UA 白名单与异常 UA 拦截:常见浏览器放行,空 UA、curl、python-requests 直接提高成本。速率上,对未登录用户做页面级别的软限流:同 IP 每分钟浏览页数、发起搜索次数、请求频率阈值超了就出验证码或 429;对登录用户放宽但不完全取消,尤其是新注册的 24 小时内。验证码别滥用,命中速率阈值或敏感动作(首帖、频繁私信、短时内多次编辑)再触发,平时尽量不打扰真人。
行为评分是关键。单条规则都不可靠,要把“像机器”的信号拆小、加权求和。比如:
- 首帖长度极短且含外链或联系方式,+3 分;
- 非常规时区夜间高频操作,+1 分;
- 同 IP 不同账号轮转发帖,+3 分;
- 语料重复度高(短时间内相似句式/模板),+2 分;
- 新号在冷门板块首帖即带锚文本外链,+2 分;
- 频繁@无关联用户、批量顶老帖,+1 分;
- 命中关键词黑名单(灰度词也算),+1 至 +3 分按敏感度梯度加。
把这些分值叠加出一个风险分,设置三档阈值:低风险仅标记、处理中风险进入待审或限影(shadow ban,自己可见他人不可见)、高风险直接拦截或拉黑。分值尽量动态:老用户有“信誉”可抵扣,新用户的风控权重大一些。别忘了加“减分项”:完善头像与个人资料、正常社交互动、首帖为自我介绍且无链接等,都可以减 1-2 分,降低误杀。
关键词与正则库别追求“大而全”,要分层管理:硬黑词(违法、博彩、黑产)命中就拦;软黑词(擦边、导流词)命中只加分不立刻拒;白名单词覆盖行业术语和站内常见名词,避免误伤。正则上尽量匹配结构而非具体词,如多种格式的微信/QQ/手机号、变体域名、夹杂符号的推广码。每周回收一次误杀样本,调低权重或加入白名单。
事后处置强调“快”和“可回滚”。我给中高风险命中加了两类动作:自动限影和队列复审。限影能即时消解影响,不打草惊蛇;人工或版主在后台统一看“风险队列”,一键放行或加重(封号、封 IP、删帖、封域名)。对于外链推广,建议维护“域名信誉表”:新出现的可疑域名先灰名单(nofollow + 限影),多次命中或被举报再进黑名单,历史沉淀的可信域名则列白,减少误判。
风控要考虑对抗。常见绕过手法有:人机混排(真人养号+脚本发)、内容模板随机化、代理池轮换、图片带码。对应思路:提高“成本而非墙高”。比如要求新号在新人区通过2-3个正常互动才可发外链;外链对新号一律跳中转并剥离锚文本;图片内嵌文字可在后台抽样做 OCR 检测关键词,不用全量跑;账号设备指纹做弱关联,同设备多号关联加分。别迷信单一指纹,浏览器特征、字体指纹、时区/语言组合、分辨率等做简易哈希,足够粗糙但能帮助归并。
还有几个易被忽略的细节:
- 搜索与站内信也会被滥用,给它们各自的速率与阈值;
- “首帖免审”一定关掉,至少对带链接的首帖强制待审;
- 公开透明的社区规范和处罚进度能减少申诉成本,让误判用户愿意配合纠错;
- 日志要留全:命中的规则、当时的分值、动作、上游 IP/CF Ray ID,未来排查和调参全靠它。
最后说落地节奏:先开监控与打分,但把动作设成“仅记录”,观察 3-7 天,统计误杀与漏判,再逐步上限影与验证码。不要一上来就全拦,论坛气氛比数据洁癖重要。风控的目标是让正常用户几乎无感,异常行为成本越来越高,而不是把社区变成门禁森严的空城。 |
|