【问题标题】:How can I prevent IE form auto-fill from filling in a honeypot field?如何防止 IE 表单自动填充填充蜜罐字段?
【发布时间】:2012-02-29 14:42:36
【问题描述】:

为了防止垃圾邮件,我已在我客户的大多数联系表单上实施了蜜罐字段。但是,我注意到 IE 的表单自动填充选项填充了蜜罐字段,从而触发了我的反垃圾邮件逻辑。我怎样才能防止这种情况?

我尝试为表单字段指定一个不同的名称 - 它目前称为 emailConfirmation,但我尝试了 conf_emliame,它仍然是自动填充的。我还尝试将蜜罐字段移动到表单的最底部 - 与现有的 email 输入相距甚远。

【问题讨论】:

  • 该字段是否不可见?如果是,我不明白为什么 IE 会自动填充它。如果不是,那它的“蜜罐”是什么?
  • 是的,SPAN 中隐藏的字段(css:display: none),这就是蜜罐字段 - 机器人不知道隐藏的隐藏字段,因此他们将其填充. 但是 IE IS 会自动填充它。
  • 是的,我简直不敢相信 IE 这么愚蠢。填写隐藏字段有什么意义? ://
  • 我很抱歉这是一个用 CSS “隐藏”的文本输入字段。这不是type="hidden" 输入。
  • 我认为以下页面对如何避免这种情况有一些很好的建议:disable autocomplete

标签: security internet-explorer spam-prevention


【解决方案1】:

按照 David Faber 链接到的答案中的建议,尝试将 autocomplete="off" attribute 添加到 input 标记中。

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

【讨论】:

  • 这仍然会阻止机器人自动将数据输入到字段中吗?
  • 它应该阻止机器人自动将数据输入到字段中,我认为这就是重点。 (具体来说,它将阻止行为良好的程序,例如浏览器,它们理解并尊重autocomplete 属性,自动填写该字段。但我假设您要捕获的机器人特别是那些执行 表现得很好并尊重这些指示。)
【解决方案2】:

给你的蜜罐字段取一个半随机的名字,例如。在实际名称后缀一个随机数。这样一来,它就不应该有两次相同的名称,也不应该被 IE 填充。

您可能还想看看cfformprotect。它有一些很棒的功能,并且帮助我保护了很多项目的表单提交。

【讨论】:

  • 谢谢,我也在尝试尽可能避免在这些形式中使用 ColdFusion,因为这些只是营销网站,而现在,CF 唯一需要的是向客户的数据库中添加数据,很快就不需要了。
【解决方案3】:

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

问候,卡洛。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    相关资源
    最近更新 更多