资讯文章 资讯 · NEWS
提交接口天天被机器人灌垃圾:蜜罐、时间锁和限速这三道闸怎么装
2026-10-23 约 876 字 预计阅读 2 分钟 yiyunkj
提
目录站的提交接口是被攻击面最广的功能。一旦你的站有点权重,垃圾提交就会自己找上门:博彩、灰产、批量站群,一晚上几百条。全靠人工删是删不过来的,得让接口本身先挡掉八成。

图片来源:网络,版权归原作者所有,侵权请联系删除
第一道闸:蜜罐字段
做法很朴素:在表单里放一个正常用户看不见的输入框——用 CSS 藏掉(比如移出屏幕,别用 display:none,有些机器人会检查这个),标签写「留空」。人不会填它,填了它的一定是脚本。蜜罐一旦有值,这条提交静默丢弃即可,别报错,报错等于告诉对方哪里被识破了。
蜜罐字段名每几个月换一次。垃圾程序会学习你的表单结构,换名字的成本在你这边是一分钟,在对方那边是重新适配。
第二道闸:时间锁与预检
机器人提交表单的时间特征很明显:页面一到就 POST。给表单加个时间戳,渲染后几秒内到达的提交直接判为可疑。人类的正常路径是读表单、填字段、点提交,几秒钟是最底线。
再加内容预检:描述字数低于下限的、正文里链接超过三条的、标题里堆关键词的、邮箱域名是已知一次性邮箱的,全部送进待审而不是直接拒。预检的目的不是终审判决,是把明显垃圾从人工队列里捞出去。
第三道闸:分级限速
限速别一刀切。按 IP 和会话各设一个桶,正常提交一分钟不过几条,超了返回 429 并带上 Retry-After 头,告诉对方多久后再试。这个状态码本来就是干这个用的,别一律 403 把误伤的用户也封死。
| 触发情况 | 响应 | 后续 |
|---|---|---|
| 首次超速 | 429 + Retry-After | 到点自动解封 |
| 同 IP 反复超速 | 静默延长封禁 | 进观察名单 |
| 蜜罐命中 + 高频 | 直接丢弃,响应伪装正常 | 不给反馈 |
验证码放最后一级,只对可疑流量弹出。上来就给每个用户转验证码,体验的损失比挡掉的垃圾大。无感校验的方案现在很成熟,能不让人点图就不让人点图。
三道闸的目标从来不是「绝对防住」,是让自动化提交的成本高于人工提交。成本一高,垃圾方自然去找不设防的站。
还有一条容易忘的:提交成功的响应页别做成纯 JS 跳转。对正常用户无所谓,对想验证「提交有没有成功」的脚本来说,一个稳定可解析的成功页是它们继续轰炸的理由——做得含糊一点,对方的验证成本也会上升。