2012-02-29 147 views
6

为了防止垃圾邮件,我在我客户的大部分联系表单上实施了蜜罐字段。但是,我注意到IE的表单自动填充选项填充了蜜罐字段,因此触发了我的反垃圾邮件逻辑。我怎样才能防止这一点?如何防止IE窗体自动填充填充蜜罐字段?

我试过给表单域一个不同的名字 - 它当前被称为emailConfirmation,但我试过conf_emliame,它仍然是自动填充的。我也尝试将蜜罐字段移到表单的最底部 - 在现有的email输入附近没有任何地方。

+0

是隐形领域吗?如果是的话,我不明白为什么IE会自动填充它。如果不是,那么什么是“蜜罐”呢? – 2012-02-29 15:00:20

+0

是的,隐藏的SPAN中的字段(css:'display:none'),这就是蜜罐字段 - 一个隐藏的字段,僵尸不知道是隐藏的,所以他们填写它。但IE * IS *自动填充它。 – 2012-02-29 15:08:28

+0

是的,我简直不敢相信IE是如此愚蠢。它填补隐藏领域有什么意义? :/ – 2012-02-29 15:16:26

回答

1

给你的蜜罐字段一个半随机的名字,例如。用随机数字后缀实际名称。这样,它不应该是两次相同的名称,不应该由IE填充。你可能还想看看cfformprotect。它有一些很棒的功能,并帮助我保护表单提交了不少项目。

+0

谢谢,我也试图摆脱在这些形式中尽可能使用ColdFusion,因为这些只是市场营销网站,而现在,CF的唯一需求就是将数据添加到客户端的数据库中,这很快就不是必需的了。 – 2012-02-29 16:42:42

5

正如答案David Faber所指出的那样,尝试将autocomplete="off" attribute添加到input标记。

这不是一个标准的HTML4/XHTML属性,但所有主流浏览器都能理解它。和it is standardized in HTML5

+0

这是否仍会阻止机器人自动将数据输入现场? – 2012-02-29 16:43:29

+0

它应该不会停止自动输入数据的机器人,我认为这是重点。 (具体来说,它会阻止行为正常的程序,例如理解和尊重'autocomplete'属性的浏览器,自动填充该字段。但我认为你想要陷阱的机器人特别是那些表现不好,并尊重这种说明的人。) – 2012-02-29 17:18:41

+0

非常感谢,我会试试看 – 2012-02-29 18:05:03

0

这里是我对你的隐形蜜罐的建议: 在表单级别放置autocomplete =“off”html标签。 把它放在看不见的领域级别,你正在识别你的隐藏的领域,稍微智能的机器人可以使用它来识别它。 自动完成标签suportability: http://help.dottoro.com/lhdwgiwh.php 您应该对您的目标IE版本进行技术探测(您是否需要IE 5和6支持?)。 对于您的不可见字段名称尽可能使用通用名称。例如。国家,所以bot算法会将其提取并填充数据。

问候,卡罗。