跳到主要内容
Q drop
登录
防滥用

蜜罐字段

概要

蜜罐字段(honeypot),是在表单中加入人看不见的隐藏字段,当这个字段被输入了值时就判定为机器人程序的技术。人察觉不到这个字段的存在,所以不会填写,而机器人程序会机械地填满表单的所有字段,所以连隐藏字段也会填上值。利用这个差别来检测机器人程序。

实现方法

蜜罐字段的实现很简单。在表单中加入和普通字段外观相同的输入框,用 CSS 应用“display: none”或“position: absolute; left: -9999px”等样式,把它放到画面之外。在服务器一侧,如果这个字段里含有值,就拒绝请求。

把字段名设成 email2 或 website 这样机器人程序容易自动填写的名字,检测率就会提高。反过来,hp_field 这样一看就知道是蜜罐的名字,有可能被高级的机器人程序避开。

局限和组合

蜜罐字段有实现工夫小、对用户体验影响也小的优点。但是,高级的机器人程序会解析 CSS 检测出隐藏字段,避开填写。另外,浏览器的自动填写功能有时会往隐藏字段里填值,让正当的用户被误判。

因此,采用的是不让蜜罐字段单独上阵、而是和工作量证明(Proof of Work)或速率限制组合起来的多层防御设计。把蜜罐字段定位为以低成本筛掉简单机器人程序的第一道对策,漏网的机器人程序由工作量证明和速率限制来应对,这样分工。

这篇文章对你有帮助吗?

相关术语

相关文章

想创建你自己的提问箱吗?

只需邮箱地址即可注册,无需密码。

免费开始