功能预览
当天核到的公开口径称,未加防护的表单提交中超过六成是垃圾或机器行为,而验证码本身已可被绕过。本文给出验证码之外的四层检查:隐藏字段与频控、提交目标是否可被枚举、内容层的敏感词过滤与审核,以及留言与评论的同源防护。
联系表单的垃圾提交防不住,验证码之外还要检查哪几项?先看量级:一份当天的公开口径写道,In 2026, over 60% of unprotected form submissions are spam or bots——未加防护的表单提交里超过六成是垃圾或机器行为。这个比例意味着,只做一层防护基本等于没做,验证码只是把最容易的一批请求挡掉。
AnQiCMS 支持在表单接入 reCAPTCHA 验证码防机器人。它针对的是”自动化脚本批量提交”这一类,效果确实直接。局限也明确:一是可被绕过,人工打码平台与自动化绕过方案长期存在;二是它带来体验损耗,每多一步验证就多一层流失。
因此验证码应该被定位成”减少量的手段”,而不是”阻止进来的手段”。真正把垃圾提交的影响消掉,靠的是提交之后的处理链路。
蜜罐字段(一个对真人不可见、脚本却会填的输入框)与提交频控是成本最低的一层。判断标准是:同一来源在短时间内反复提交同一表单,是否会被拒绝并记录。很多站点的垃圾提交之所以畅通,是因为接口只校验”字段是否合法”,从不看”这个来源是不是在批量干活”。
这一层还有一个常被忽略的点:表单地址是否可被直接枚举。若提交端点没有来源校验,脚本可以绕过页面直接调用接口,此时页面上的验证码形同虚设。
垃圾提交的最终落点是数据库与页面输出。就算前面几层被穿透,只要写入与展示环节有过滤,影响也能被压住。
AnQiCMS 的内容安全设置提供敏感词过滤与关键词替换、内容审核,提交进来的文本先过规则再落库,命中项进入待审而不是直接发布。这一层的价值在于它不依赖”识别机器人”,只判断”这段内容能不能出现”,对改写后绕过的垃圾同样有效。认证与注入面由另一层负责:内置 JWT 认证、内容敏感词过滤与防采集干扰码,用于防御 SQL 注入与 XSS 攻击。
表单垃圾很少只打在联系表单上。留言、评论、注册昵称是同源问题,用同一套内容规则收口比各表单各配一套更稳。AnQiCMS 的 GEO 与 SEO 相关后台模块共 14 个,其中就包含评论反垃圾一项,llms.txt 与站点地图等模块也在同一份清单里,留言列表也已被纳入统一的后台管理,处理垃圾时可以一次看到所有来源。
判断自己是否有缺口的办法很直接:把站内所有能写入文本的入口列一遍——联系表单、留言、评论、搜索框、用户名——然后逐个问”这条链路上有没有内容审核”。列表里出现空白项,就是垃圾会来的地方。
过度验证会把真实客户一起挡掉。一个常见误操作是把验证码等级调到最高、又给表单加了七个必填项,垃圾是少了,线索也归零。合理的做法是让机器承担第一道筛选(频控与规则),把人的摩擦控制在一两步以内,模糊的内容再交给审核队列,而不是直接拒绝。
问:只加蜜罐字段够不够? 答:不够。蜜罐对不解析页面的直接接口调用无效,需要与频控、内容过滤叠加使用。
问:垃圾提交进了数据库怎么办? 答:先确认它没有被输出到任何页面,再按来源批量清理,并把命中的规则补进敏感词过滤与关键词替换,避免同类内容再次入库。
问:表单要不要一律加验证码? 答:不必。内部流程类表单可以用权限与频控替代,公开的留资表单再上验证码,把体验损耗留给真正对外敞开的入口。
预览
被批量采集时最难的是证明来源。干扰码的思路是让被抄走的副本带上不可见噪声与可识别指纹,能挡住直接复制式采集,但挡不住人工重写与接口级抓取。本文说明干扰码的作用边界、判断被采的信号,以及和锚文本、内容采集功能相关的安全收口。
预览
自定义内容模型加字段只是第一步:模板不取值新字段就不会显示,批量导入的表格与压缩包模板没同步会让历史数据被覆盖,接口导入还要保持字段名一致。本文按模型、模板、导入三条链路给出改动顺序与验证方法。
预览
站点地图协议给出单文件上限:不超过五万条 URL、未压缩体积不超过 50MB。拆分之后要提交的是索引清单而不是各个子文件,还要分别看每个子文件的收录状态。本文说明拆分原则、提交位置、监控口径,以及与百度、Bing 主动推送的分工。