代码之家  ›  专栏  ›  技术社区  ›  Sandeepan Nath

需要易于使用但安全的验证码的建议/想法[关闭]

  •  1
  • Sandeepan Nath  · 技术社区  · 14 年前

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

    reCAPTCHA 是最先进的验证码技术,但我们只是不想使用它为我们的网站,因为用户面临的困难,阅读扭曲的话。我们的网站是一个为学生提供在线直播课程的学习门户,因此用户将是学生(毕业证书级别)和教师。

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

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

    山德潘

    3 回复  |  直到 14 年前
        1
  •  1
  •   Niels van der Rest    14 年前

    阅读扭曲的文字是一回事,但也要求合法用户进入 things like this 会变得很烦人。所以你很重要 .

    达米安·卡茨用了 negative captcha

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

    他在文章中说:

    垃圾邮件发送者不制造可以发布到任何形式的软件,他们制造可以发布到多种形式的软件。

    因此,它只需要一个简单的把戏来迷惑大多数垃圾邮件机器人。多一点魔法就能搞定剩下的机器人。


    关于芝麻街的解决方案,问一些简单的问题或者从列表中选择正确的动物:这些问题对于垃圾邮件机器人来说很难回答,但是对于用户来说也很难。尤其是如果你的网站有一个国际观众

        2
  •  1
  •   ChrisF    14 年前

    我的一个同事实现了一个方法,用复选框呈现一系列随机的图片,比如茶杯、船、猫等,并要求用户勾选所有的猫,或者可能是船和树。

    图片是相当简单的双色图标真的,虽然你可以使用真实的照片,如果必要的话。

    只是要确保你的图像名称不能代表它们的内容。

        3
  •  1
  •   Hut8    14 年前

    首先,ASP.NET有一个控件,它不是真正的“验证码”,但实际上恰恰相反——一个非常简单的脚本,确保访问程序可以计算JavaScript。这就去掉了除最复杂的scraper之外的所有scraper,特别是当JavaScript测试的结构发生变化时(即,它不仅仅是vary=2;var x=y+(来自服务器的随机数);验证(x)

    谷歌和Craigslist都使用电话号码,这就要求一个讨厌的机器人至少可以访问一个支持短信息的号码(或者语音识别+语音线路)

    我最喜欢的验证码是点击电脑无法识别的东西,比如从动物图片的短列表中挑选一只猫。