官网表单老收到垃圾提交,怎么防才不误伤客户

一个做培训的客户早上打开后台,留言列表里多了两百多条英文内容,每条都带链接,写着什么「提升网站排名」。表单对外才开放四天。老板的第一个反应是把留言功能关掉。

关掉当然能解决问题,但也把真实客户挡在外面了。垃圾提交有办法治,关键是别用太狠的手段。

一、先分清是机器人还是人

处理方式完全不一样,所以第一步是看特征。

机器人的特征挺明显:内容高度重复,或者干脆是一段跟业务无关的英文;每条都带网址;提交时间间隔极其规律,比如每 30 秒一条;来源 IP 集中在一个网段;浏览器标识也是同一个。

人工刷的话内容会更贴合行业,间隔也不规律,这种情况需要更细的策略,还要考虑是不是同行。

二、最容易上手的办法是隐藏字段

技术上叫蜜罐字段。做法很简单,在表单里放一个访客看不见的输入框(用样式藏起来,而不是设成 hidden 类型),正常访客不会去填它,机器人扫表单的时候会把所有字段都填上。

只要这个隐藏字段有值,直接判定为垃圾,静默丢掉就行。

这个方法不打扰用户,不用输验证码,误伤率几乎为零。缺点是高级一点的机器人会跳过隐藏字段,不是万能的。但对大多数官网来说,能挡掉八九成。

三、图形验证码什么时候加

蜜罐挡不住的时候再上验证码,别一上来就用最复杂的那种。

简单的算术题或者滑块最合适,成本低、用户能接受。现在常见的选九宫格那种,对付专业刷子确实有用,但手机上真的烦,会有客户因为懒得做就直接放弃。

有个折中方案是按风险触发:同一个 IP 第一次提交不问,第二次之后才弹验证码。真客户一般不会连着提交三次。

四、两个低成本的辅助规则

提交时间检查。人填一个表单至少要几秒,如果打开页面到提交只用了 1 秒,基本可以判定不是人。加一条规则,太快提交的直接丢弃。

频率限制。同一个 IP 一小时内最多提交 3 到 5 次,超了就要求验证码或者直接拒绝。这个在后台或者服务器层面都能配。

再加一条内容过滤:正文里包含网址、域名、常见推广词(比如外链、群发这类)的直接拒绝。不过要注意别把正常客户误伤了,有人就爱在留言里带上自己公司的网址,这条规则建议只做标记,人工看一眼。

五、别做这几件事

别要求必须注册登录才能留言。企业官网的访客大多是一次性的,让他注册,他直接走了。

别把验证码做得又小又歪。有些验证码设计得连人都认不出来,那是在给自己添堵。

别让每一条提交都往邮箱发一封通知。被刷两百条的时候,你的邮箱会先炸掉。

六、后台的兜底要留好

不管怎么防,总会有漏进来的。后台的留言列表要能批量勾选和删除,能标记成垃圾,最好还能把某个 IP 加进黑名单。

另外给真实留言做一个明显的区分,比如通过验证的显示成绿色,来源可疑的单独放一个待审核列表。这样每天扫一眼就知道哪些需要回。

先上蜜罐字段,这个改动最小、误伤最少,能挡掉大部分机器人。不够用再加提交时间检查和频率限制,最后才考虑验证码,而且要选简单的形式。千万别为了防垃圾把留言入口关掉,或者加上注册门槛,那才是真的亏。