ruby-on-rails – 如何在我的表单中添加Honey pot字段?
我一直在阅读关于在我的表单中添加蜂蜜罐字段来打击机器人/垃圾邮件.唯一的问题是他们没有指导或任何开始的地方.许多网站表示要隐藏一个只有垃圾邮件机器人才能填写的字段.但是,就我而言,我不知道从哪里开始我的应用程序.有人可以给我关于如何设置这个的建议吗?我试图让我的Devise注册页面使用蜂蜜罐田.
解决方法
honeypot captchas背后的基本思想是,您有一个隐藏的(通过CSS)字段命名为“form”或“email”或“c??ontent”(对于刚读取字段名称的机器人),它应该被填写.然后,当服务器查看提交时,您确保这些隐藏的字段为空.如果没有,那么你将这个帖子标记为机器人.
Here’s a well explained example(在ASP中有一些代码)和here’s a Rails Gem that provides honeypot captchas. 那Rails Gem我链接看起来像是安装非常简单: <% form_tag comments_path,:honeypot => true do -%> ... <% end -%> 虽然如果您有兴趣了解该方法,而不仅仅是实现该方法,我建议您自己滚动.如果你自己滚动,重要的是确保该字段被CSS隐藏(或其他一些样式/定位技巧),而不是输入type =“hidden” – 否则bot可能不会填写该字段. 正如迈克尔·米尔(Michael Mior)在评论中指出的那样,隐藏的字段旁边会显示一条消息,告诉用户将其留空,否则带屏幕阅读器的用户可能会错误地填入该信息.我链接到的宝石中缺少此功能 – 所以如果你做一个可访问的网站(你几乎肯定应该是),你可能需要修改它或自己滚动. 请记住,这个伎俩不是万无一失的 – 没有什么可以阻止机器人渲染页面,并确定在填写任何内容之前,用户实际上可以看到哪些字段 – 但是那种机器人会比刚才看起来复杂得多以html的形式.蜜罐验证码在停止简单机器人时可能非常有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |