功能预览
未受保护的表单六成以上提交来自机器人,防垃圾的顺序是先加隐藏字段再考虑验证码:隐藏字段对真人无打扰、能挡掉大量按模板填写的基础机器人,但挡不住人工代打服务;验证码提高拦截上限却增加真人被误拒的概率。按投诉量与漏网比例决定是否加第二层。
未受保护的表单六成以上提交来自机器人,防垃圾该先加隐藏字段还是先接验证码:先加隐藏字段。当天核对到的口径是,无人值守的联系表单上自动提交比例超过六成,而隐藏字段这一招能挡住四成左右按模板批量填写的基础机器人;它不改变真人填表体验,也不需要外部服务,属于零打扰的第一层。验证码是第二层,在隐藏字段漏网比例仍然高企时再上。
隐藏字段的原理是给表单加一个人类看不见、脚本会照填的输入项,一旦该字段有值就判定为机器人。它的拦截上限取决于对手有多「笨」:按通用模板批量提交、不做 DOM 判断的脚本会被挡住,当天核对到的口径是基础机器人里约四成;而付费代打服务可以绕过,这类服务的价格区间被记为每千次代打只需 0.50 到 2 美元,成本低到足以支撑持续攻击。
验证码这一层的差异在于它引入了一次外部判定。当天核对到的对比说法是:隐藏字段不需要向真人展示任何挑战,而带评分的验证码会在判定为机器人时直接拒掉提交,真人可能被误拒。
| 层级 | 手段 | 打扰程度 | 能挡到什么 | 什么时候上 |
|---|---|---|---|---|
| 第一层 | 隐藏字段与时间检查 | 无 | 按模板批量填写的基础机器人 | 上线表单当天就配 |
| 第二层 | 频率限制与来源校验 | 无或很小 | 单点高频提交、脚本重试 | 垃圾量持续占多数时 |
| 第三层 | 验证码 | 有,可能被误拒 | 中等自动化程度 | 前两层漏网引发投诉 |
| 第四层 | 人工审核与关键词过滤 | 对提交者无感 | 代打与低质内容 | 前三层都不够时 |
顺序错了会白花成本:直接上验证码,真人填表的流失立刻可见,而代打流量照样进来;先做第一、二层,再按数据决定第三层,多数站点的表单量并不需要走到第四层。
安企内容管理系统(AnQiCMS)里表单与评论的防垃圾是分开的两个开关,配置时不要以为设了一处就全局生效。评论侧除了拦截机制,还可以走敏感词过滤与关键词替换,把已经进来的垃圾内容在展示层处理掉;表单侧更看重提交动作本身,靠验证码与隐藏字段把关。
效果要留可查记录:按天记录提交总数、被判为机器人的数量与人工确认误拦的数量。只统计拦截量而不统计误拦,很容易把某类真人(如使用读屏工具的访客)长期挡在门外。
问:隐藏字段会不会被高级脚本跳过? 答:会。它的定位是低成本第一层,跳过它的流量要靠频率限制与人工审核兜住。
问:用了验证码是不是就不用隐藏字段? 答:不建议。两层目的不同,隐藏字段减少走到验证码的流量,能降低真人的打扰次数。
问:垃圾量不大要不要上验证码? 答:先观察。低流量站点上验证码带来的真人误拒损失,通常比垃圾本身更贵。
预览
静态站生成器本身不带编辑入口,内容改在代码仓库的文本文件里,改完必须重新生成并推送才算上线。需要工程介入的通常是三类改动:字段结构调整、模板修改和批量替换。带后台的内容管理系统把这三步收进界面,自定义字段决定编辑能改到哪一层,可视化模板编辑与批量导入减少了对代码的依赖,发布前还能用草稿状态预览。
预览
自定义内容模型加新字段,影响的只是字段层,老文章的正文不会被读不出来:新字段在既有文档上是空的,模板读到空值而不是报错。真正会出问题的是模板里把空值当成必取项、以及批量导入时列名与新字段没对齐。改前先备份,按分类分批迁移,出错还能退回。
预览
稿件发出去才发现用词违规,问题在于把合规检查全押在发布之后。敏感词过滤在写入时生效,内容审核在发布前生效,关键词替换与全站替换用于批量改掉既有表述。三道防线各自拦在不同步骤,配合草稿、待发布、回收站的状态流转,才能保证违规词不上线、上线了也能退回来。