【问题标题】:Alternative to Captcha? [closed]验证码的替代品? [关闭]
【发布时间】:2011-09-24 17:47:51
【问题描述】:

我的网站上有一个简单的注册表单(姓名、电子邮件、密码),我希望实施某种反僵尸程序/垃圾邮件保护,验证码似乎是一种很冗长的方法,而且当我在网站上看到它们。有没有人可以替代轻量级且简单集成的垃圾邮件防护方法?

【问题讨论】:

  • 天空是什么颜色的? "",检查他们是否输入蓝色,对于色盲和非英语人士来说有问题。
  • 好问题。我查看了我现在正在开发的网站的验证码。在我阅读了用户协议并看到“我们对您的用户数据拥有权利”的内容后,我认为验证码可能不是一个好主意。我没有花太多时间寻找,但我仍在寻找最好的方法。
  • 看看你是否可以使用滑块验证码:演示:myjqueryplugins.com/QapTcha/demo这里列出了很多替代方法:plugins.jquery.com/plugin-tags/captcha
  • 看起来它仍在开发中,但您可能会对 MotionCAPTCHA 的进展感兴趣,其中用户必须跟踪框中看到的形状:josscrowcroft.com/demos/motioncaptcha

标签: php javascript captcha


【解决方案1】:

最简单的解决方案是让用户解决像 3 + 2 这样的数学方程。我认为,没有人会为刚开始的网站制作垃圾邮件机器人。或者,如果需要,请使用 ReCaptcha 。

【讨论】:

  • 在 3 + 2 上使用 javascript eval 会很容易通过。 three and two gives you: 会更难破解。
【解决方案2】:

另一种方法是使用隐藏的表单字段作为机器人的蜜罐。可以使用 Javascript 中的适当值填充此字段,也可以将其留空。无论哪种方式,如果该值不是您所期望的,那么您可以将提交视为垃圾邮件。这不会阻止专门针对您的网站的漫游器,但会阻止大多数常见的垃圾邮件漫游器,它们只会看到并填写表格。

【讨论】:

  • 这是垃圾邮件机器人会说的话 ;)
  • 这可能非常有效,特别是如果您将蜜罐字段命名为“电子邮件”并将真正的电子邮件字段命名为其他名称。然而,这对于使用屏幕阅读器的盲人来说可能是个问题,因为有些人会大声朗读隐藏的表单字段。机会很小,但如果您的网站需要符合 ADA 标准,请记住一些事情
【解决方案3】:

新编辑: 我刚刚实现了类似的东西:http://jsfiddle.net/ravan/FK4st/2/

编辑: 更好的选择是显示 3 个方块,每个方块一种颜色,并要求用户单击特定颜色。您还可以使用覆盖低不透明度的多个 div 以获得彩色网格。用户没有区别,但垃圾邮件发送者很头疼。

旧答案: 您可以向用户提问,例如:

What day is today?

What day of the week comes after tomorow?

How much is 2+2?

请注意,它不如验证码安全,但应该过滤一些垃圾邮件发送者。

【讨论】:

【解决方案4】:

验证码

它们很烦人,但对检测自动机器人最有效。如果像 Google、Yahoo! 等大型网站不需要验证码来检测机器人,那么他们就不会使用它们,因为就像你说的那样,它们对用户不太友好。

OpenID

我不断重复这一点,但我们不需要另一个 username/password,我认为您应该实施 openID 来验证您的用户。我在https://github.com/alfredwesterveld/php-openid 上提供了一个库,它与可以在stackoverflow.com 上找到的登录非常相似。如果你想先看一个演示,你可以在我在http://westerveld.name/php-openid/ 提供的一个小演示中尝试 openID。使用 OpenID 时,用户可能必须执行一次验证码才能创建帐户。

防止僵尸程序

垃圾邮件

例如,如果您想检测评论是否为垃圾邮件,您可以使用akismet 之类的内容。

Akismet 过滤掉您的评论并 为您追溯垃圾邮件,这样您就可以 专注于更重要的事情。

对于个人博客,您可以免费使用它(如果您喜欢产品,也可以捐赠)。对于小型商业博客,您必须每月支付 5 美元来检测垃圾邮件。

其他

其他一些验证人类的形式是:

  • 使用唯一链接或其他内容发送电子邮件验证。
  • 只允许您知道是人类的用户。其余的应首先证明他们是您的用户。

所有这些形式的验证都可能被破解,甚至 CAPTCHA(尤其是简单的验证码)也可能被真正智能的机器人破解,但现在是对抗验证的最佳解决方案。

【讨论】:

    【解决方案5】:

    我曾经用过“哪个更热,火还是冰?”然后是一个文本框,它阻止了每个垃圾邮件机器人。 Example here

    【讨论】:

    • 不要自己提供链接。相反,请在答案中包含重要信息,以便 何时 链接 rots 并破坏答案将很有用。 “How to Answer”解释它。
    【解决方案6】:

    创建一个 JavaScript 计数器并在用户开始输入时启动它,并分析带有注释长度的数据。

    采样率是:

    • 0ms
    • 5ms
    • 60sec
    • 1 小时

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2011-06-16
      • 2011-12-17
      • 2010-10-21
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多