功能预览

功能介绍

一个隐藏字段加一层校验服务,防垃圾留言够不够

隐藏字段拦的是不看页面的批量脚本,校验服务拦的是会填表的自动化,两层合起来仍拦不住伪装成正常留言的推广文本,还需要内容侧的敏感词过滤与人工审核兜底。本文给出三层防护的分工、后台开启顺序,以及用留言状态筛出来做验收的办法。

评论反垃圾 功能介绍 表单防护

功能介绍

防垃圾留言够不够,取决于垃圾从哪一层来。表单上放一个隐藏蜜罐字段再接一层校验服务,能压掉大批量脚本提交和会自动填表的机器人,但拦不住伪装成正常提问、里面夹带推广联系方式的人工或半自动留言——那部分要靠内容侧过滤加人工审核。所以这两层是必要但不充分,防垃圾留言的完整分工应当是三层:入口层拦提交方式,内容层拦文本本身,后台层留可核对的处置记录。

三层分别拦谁

防护层 拦什么 拦不住什么 对应的核对方式
隐藏字段(蜜罐) 不渲染页面、按字段名直接批量提交的脚本 会解析页面、跳过隐藏字段脚本 看被拦提交的比例是否随规则上线变化
校验服务 会填表、需要判定交互的自动化提交 人工提交与低成本绕过判定的样本 按留言来源抽样统计通过率
内容过滤与审核 混在正常文本里的推广词、违规表述 全新表述、变体写法 按待发布与正式状态筛出核对

隐藏字段对真人无感,是因为它对正常填写者不产生任何交互;它的作用面很窄但成本极低。校验服务的作用面更宽,代价是判定规则不在站点自己手里,站点只能看到结果,所以要靠自己的日志去核对效果。

为什么还要看内容本身

垃圾留言里增长最快的部分并不是「一眼假」的推广长串,而是伪装成提问或感谢、末尾带一句联系方式的短文本。这一类在入口层完全正常:字段填得对、交互也过了。要拦住它,只有两条路——内容侧过滤和人工审核。

AnQiCMS 的内容安全设置里,敏感词过滤与关键词替换处理的是已知词表,命中即拦截或替换;内容审核处理的是未知表述,靠人判断。两者配合的价值在于:词表负责高频重复,人工负责新型变体,谁都不必处理全部留言。

后台怎么开启这三层

顺序建议按「先记录、再拦截」来做。第一步把留言与附件的入口状态理清,后台的留言列表(guestbook)能看到每条留言的当前状态,这是所有验收的数据基础。第二步启用表单侧的验证码校验,即 reCAPTCHA 接入,把自动化提交压下去。第三步配置敏感词过滤与关键词替换,把词表覆盖到已知的推广表述。第四步固定人工审核的节奏,让状态流转成惯例而不是临时动作。

倒过来做会出问题:先上拦截再补记录,一旦误拦了正常用户,没有可比对的基线来判断拦截是否过宽。

上线后用什么验收

验收靠状态而不是靠感觉。文档状态分为正式文档、草稿、待发布与回收站,留言侧同样要能按状态筛:待发布的积压量反映拦截效果,被移入回收站的量反映误拦风险。固定每周看一次这两个量,比每天看总量更有信号。

另一个必看的点是拦截的漏网样本。把「已发布但事后被举报」的留言单独统计,用来补充词表——这是敏感词过滤能持续有效的原因,词表要由实际漏网样本驱动更新。

常见问题

只上隐藏字段够不够

对纯脚本批量提交够用,对其他都不够。隐藏字段是成本最低的一层,通常作为起点而不是终点。

有了校验服务还要人工审核吗

要。校验服务给出的是提交是否自动化的判断,不判断文本内容是否合规,推广文本和违规表述仍然需要内容侧处理。

怎么判断拦截是不是过宽

看误拦代价:待发布积压量突然上升而正常用户反馈变少,通常说明规则过紧。这时候应当回到留言列表按状态核对样本,而不是直接放宽全部规则。

敏感词过滤能代替反垃圾策略吗

不能,它是词表机制,只覆盖已知表述。新型变体、伪装成正常提问的推广文本要靠人工审核发现后再补进词表。