【问题标题】:Whats the simplest way to secure your forms from spammers?保护表单免受垃圾邮件发送者侵害的最简单方法是什么?
【发布时间】:2010-07-08 15:02:31
【问题描述】:

阻止垃圾邮件发送者探测您的表单的最简单方法是什么(最好不要阻止真实用户)

【问题讨论】:

    标签: security spam-prevention


    【解决方案1】:

    一个非常简单的方法称为honeypot

    1. 您创建了一个用户无法填写的隐藏字段。
    2. 如果您收到填写了该字段的表单,请将其丢弃。

    您可以通过设置不显示或将 div 绝对定位在其他东西后面或完全离开屏幕来隐藏它。

    最好的部分是它根本不会影响您的普通用户。

    【讨论】:

    • 这个字段也值得标记,以防万一。否则要非常小心,该字段在所有浏览器、布局和媒体类型上都正确隐藏。
    【解决方案2】:

    验证码。用户不再为它们所困扰,他们已经习惯了它们。

    http://www.captcha.net/captchas/

    这似乎是一个易于设置的验证码网站,我从未使用过它,但它在谷歌上很早。

    【讨论】:

    • 我不能再反对了;验证码应该是最后的手段。你很懒惰,把你的工作转移给你的用户;您将得到回报,用户满意度不佳,销售额或联系人减少或您所追求的任何东西。
    • 另外,我认为有一个重要的区别;人们已经习惯于为免费服务付费来解码验证码。如果您正在编码,例如一个联系表格,用户会有一个非常不同的视角。
    • 当我说验证码时,我的意思是一个非常简单的验证码。如果您查看我插入的链接,该示例大约需要 3 秒来解码。类似于您的“键入橙色单词”的想法。这对计算机来说稍微复杂一点,对人类来说是小菜一碟。
    • 我实际上不喜欢我的想法 :) 但它确实是最容易实现的,这是提交者所要求的,并且对用户来说更容易比例如recapatcha(虽然 recapatcha 是解决垃圾邮件问题的好主意)。
    【解决方案3】:

    最简单的方法可能是添加一个具有常用名称的附加字段,例如“Phone:”,然后将其设置为 display:none;并检查服务器端的值是否仍然为空。大多数垃圾邮件机器人(不是全部)都会被愚弄并填写该字段 - 因此您可以忽略他们的输入。

    它并不完美,但它“简单”并且会阻止大量垃圾邮件。

    失败了,是的,验证码。

    【讨论】:

      【解决方案4】:

      我一直更喜欢将隐藏的电子邮件字段与简单的逻辑问题相结合,例如“如果冰是冷的,火是:___”或“十二减二是 __”。只需提出一系列问题来让机器人猜测。您甚至可以让他们幽默,让您的用户满意。

      http://textcaptcha.com/ 是一个很好的起点。他们甚至提供用于生成随机问题的网络服务。

      验证码很棒,但要填写 IMO 的 PITA。即使是最受欢迎的也存在巨大的可访问性问题。我无法告诉你有多少次我不得不求助于音频样本(尽管有完美的视力)却发现音频更难破译。

      【讨论】:

        【解决方案5】:

        我不知道这是否符合deterring real users 的条件,但一个易于解决的验证码应该可以解决问题。我不会过多打扰用户,它会阻止自动填写表单的垃圾邮件发送者。

        【讨论】:

          【解决方案6】:

          完全自动化的公共图灵测试可以区分计算机和人类(简而言之:验证码)非常棒。

          我喜欢recaptcha 项目的座右铭:停止垃圾邮件,阅读书籍。

          【讨论】:

            【解决方案7】:

            在必要之前不要使用验证码。大多数网站都不够重要,不会浪费人们的时间和注意力。这尤其适用于您尝试销售商品而不是提供免费服务的情况。

            只需使您的表单非标准就足够了。除非您的重要性足以吸引某人编写特定于您网站的代码,否则您可以通过包含一个标有“请输入橙色”的字段来阻止所有一般的垃圾邮件发送者。

            如果您大到足以成为目标,请开始实施行为垃圾邮件检测、隐藏字段等。如果您不知所措,请拿出验证码;甚至可能是暂时的。您的热狗摊联系页面不应该浪费人们的时间......

            【讨论】:

            • "please type the word orange" 是验证码。
            • 它是;但是实现起来很简单,解决起来也很简单,这是最接近提问者的要求。隐藏字段和行为检测是更好的方法,但更难正确实施。
            猜你喜欢
            • 2017-11-06
            • 2010-10-03
            • 2012-02-21
            • 1970-01-01
            • 1970-01-01
            • 2012-02-15
            • 2011-04-09
            • 1970-01-01
            相关资源
            最近更新 更多