【问题标题】:Can I prevent spam bots from submitting a form if its hidden?如果隐藏表单,我可以阻止垃圾邮件机器人提交表单吗?
【发布时间】:2013-11-27 20:28:35
【问题描述】:

如果我在我的网站联系页面上的表单包装器上显示:无,垃圾邮件机器人仍然能够提交它吗?

如果不是,那么一个可能的解决方案是只放置一个链接说 - 给我们发送电子邮件 - 当点击它时显示:显示带有表单的包装器,从而防止垃圾邮件?

谢谢, -O

【问题讨论】:

    标签: css forms spam


    【解决方案1】:

    垃圾邮件机器人通常是自动执行和运行的脚本。它不是一个真正的人,所以机器人不会关心它是否真的被样式隐藏了。如果您想防止“垃圾邮件机器人”滥用它,您可以在用户单击按钮的那一刻将其添加到 DOM。

    【讨论】:

    • 所以即使表单被隐藏,机器人仍然可以提交它......如果你没有在 html 中包含 代码......并且使用 jquery 你当人类点击按钮以显示表单时 - 它还会在表单中打印 - 这不会禁用任何机器人提交表单的可能性吗?
    • 我认为更常见的方法是使用验证码
    • 我的问题是一个客户网站是用 ASP 构建的,我只对 php 比较熟悉...所以我尝试了一个没有运气的验证码...。
    • 从最终用户的角度来看,没有 CAPTCHA 将是一个优势。我觉得这个答案给了你两全其美:停止垃圾邮件机器人,让最终用户的事情变得更容易。
    【解决方案2】:

    那里有许多不同类型的垃圾邮件机器人,并且在填写表单时使用了许多不同的方法(因此:向您发送垃圾邮件)。

    在大多数情况下,这些是自动脚本,实际上根本不会“看到”页面,而只是使用它在页面上找到的标记。为此,使用 CSS 隐藏表单根本不会阻止它们。

    同样:如果您在网站上留下mailto: 链接,您会发现有很多机器人会抓取您的电子邮件地址并直接向您发送垃圾邮件。

    恐怕没有万无一失的方法可以阻止垃圾邮件。不过,您可以使用很多技术来减少它。

    最常见的是使用像recaptcha 这样的验证码服务,尽管这并不能具体保证某些垃圾邮件仍然不会被过滤掉。

    我倾向于使用的另一个技巧是Honey Pot input,它相对容易使用,并且似乎可以很好地阻止垃圾邮件发送者。

    【讨论】:

    • 所以即使表单被隐藏,机器人仍然可以提交它......如果你没有在 html 中包含 代码......并且使用 jquery 你当人类点击按钮以显示表单时 - 它还会在表单中打印 - 这不会禁用任何机器人提交表单的可能性吗?
    【解决方案3】:

    垃圾邮件机器人的本意是速度很快,它们不解析 CSS 或 JavaScript。如果你想防止它们,你可以包含一个CAPTCHA,甚至是一个简单的,比如要求用户写小数字的总和或乘积(显然用一个句子写请求,使用字母而不是数字)。像这样的廉价解决方案应该可以阻止大多数垃圾邮件,但如果有人想针对您,它很容易受到攻击。

    我不建议动态创建表单,因为无法执行 JavaScript 的用户将看不到它。

    【讨论】:

      【解决方案4】:

      如果使用最人性化、最简单且极其有效的蜜罐,请尽量不要使用 css hidden 命令隐藏您的输入字段。如果机器人很复杂,它们可以看到这一点。 将字段绝对定位在表单的顶部,向左或向右,没有边框,背景和文本颜色与表单所在的元素相同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-20
        • 2013-05-05
        • 2014-10-22
        • 2014-02-10
        • 2014-08-12
        • 2012-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多