【问题标题】:Need suggestions/ideas for easy-to-use but secure captchas [closed]需要易于使用但安全的验证码的建议/想法[关闭]
【发布时间】:2010-07-28 18:54:51
【问题描述】:

首先,我很清楚与验证码相关的安全性/可用性权衡,因此不需要任何解释。

我知道reCAPTCHA 是最先进的验证码技术,但我们只是不想将它用于我们的网站,因为用户难以阅读扭曲的文字。我们的网站是提供在线在线课程的学生的学习门户,因此用户将是学生(毕业证书级别)和教师。

我一直在寻找不同的想法,并找到了一些不错的想法,例如:-

我提出这个问题的目的是为了获得尽可能多的想法。我认为在最终确定之前,我仍然可以分析许多用户友好但安全的方法。

请参考垃圾邮件机器人的工作方式,突出显示您建议的方法的优缺点。我不太了解他们的许多优点和缺点。

谢谢,

桑迪潘

【问题讨论】:

  • 因为用户在阅读失真词时面临的困难 - 这就是 CAPTCHA 的重点……阅读失真词
  • 这是在互联网上可用,还是在登录页面后面可用?
  • reCAPTCHA 设置大约需要 10 分钟......它真的很容易。

标签: captcha


【解决方案1】:

阅读扭曲的文字是一回事,但要求合法用户输入things like this 会很烦人。因此,您不要用反垃圾邮件措施给用户带来负担,这一点很重要。

Damien Katz 使用 negative captcha 阻止垃圾邮件机器人。这种技术也称为蜜罐领域,易于实现,不需要用户做任何事情。

更复杂的蜜罐实​​现是described by Ned Batchelder。它涉及随机字段名称和散列值,以确保机器人没有篡改表单。

他在文章中说:

垃圾邮件发送者不会制作可以发布到任何表单的软件,他们会制作可以发布到多种表单的软件。

因此,只需一个简单的技巧就可以迷惑大多数垃圾邮件机器人。再多一点魔法就能解决剩下的机器人。


关于芝麻街解决方案,提出简单的问题或从列表中选择正确的动物:这些问题对于垃圾邮件机器人来说很难回答,但对用户来说也很困难。尤其是如果您的网站拥有国际受众,那么使用英语以外的第一语言的人可能难以理解这些问题。这可能不是您的学生观众的问题,但请牢记这一点。

【讨论】:

  • 否定验证码的概念听起来很棒。但是我能轻松地实现它吗?有一些可用的插件吗?此外,有人制作特定于站点的机器人的机会有多大?我认为我的网站将是一个非常受欢迎的网站。考虑到这一点,这种技术有多安全?谢谢你的想法,Sandeepan
  • 达米恩写过though this technique likely won't work on big community sites (for long), it will work just fine for most smaller sites.
  • 大多数机器人针对特定的论坛或博客平台,以确保机器人可以使用该平台发布到任何网站。如果您不使用流行的平台,大多数机器人将无法向您的网站发送垃圾邮件。实施否定验证码并不困难。只需在表单中添加一个空文本字段,使用 CSS 将其从视图中隐藏,并在表单提交到服务器时检查该字段是否仍然为空。如果机器人专门针对您的网站,您可能必须使用随机字段名称,或使用传统的验证码。
  • 那么,CSS 的使用是否也会阻止配备 CSS 技术的机器人?破解的几率有多大?
  • 如果您在现场使用display: none,一些高级机器人可能能够检测到它。但是如果你只是通过将它放置在页面之外或另一个元素后面来将它移到视野之外,那么破解将非常困难。我没有关于它的有效性的统计数据,但是它很容易实现,所以你为什么不尝试一下呢? :)
【解决方案2】:

我的一位同事实施的一个方法是显示一系列带有复选框的随机图像,例如茶杯、船、猫等,并要求用户勾选所有猫(比如说),或者可能是船和树.

这些图像实际上是相当简单的两色图标,但如果需要,您可以使用真实照片。

请确保您的图片名称不代表其内容。

【讨论】:

  • 感谢您的想法。我知道这个问题并没有给机器人留下任何线索来回答,但答案是多项选择这一事实使得盲目猜测的可能性很高。我认为我的网站会很受欢迎。假设制作了一个针对我的网站的机器人。如果我对我的问题保留 5 个选项,并且如果机器人被编程为每次都盲目地选择第 2 个,那么破解的概率高达 20%。我对吗?这不是很高吗?可能会从图片中剔除所有的猫,被破解的机会会更小。
  • 你不太明白。你给他们例如九张图片,让他们选择其中四张是长颈鹿。随机猜对的几率是 1 分(9 选 4)或 126 分之一。
  • ok 同意几率很小,但缺点是必须显示更多图像以降低几率。由于注册表混乱,我不太确定我的客户是否会批准。不过还是谢谢。
【解决方案3】:

首先,ASP.NET 有一个控件,它不是真正的“验证码”,但实际上正好相反——一个非常简单的脚本,它确保访问程序可以评估 JavaScript。这消除了除了最复杂的爬虫之外的所有爬虫,特别是如果 JavaScript 测试的结构发生变化(即它不仅仅是 var y = 2; var x=y+(random number from server); verify(x))

Google 和 Craigslist 都使用电话号码,这要求讨厌的机器人至少可以访问支持 SMS 的号码(或语音识别 + 语音线路)

我最喜欢的验证码是点击计算机无法识别的内容,例如从一小段动物图片中挑选出一只猫。

考虑可访问性和易于实施很重要,reCAPTCHA 做得很好。

【讨论】:

  • 您能否解释一下确保访问程序可以评估 JavaScript 的技术。或者至少链接到一些有解释的文章。感谢您的想法
猜你喜欢
  • 1970-01-01
  • 2010-12-23
  • 2011-12-06
  • 2013-10-24
  • 2012-05-16
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
相关资源
最近更新 更多