验证码值得降低可用性吗?


16

什么时候使用验证码有用?什么时候是不必要的障碍?验证码只是懒惰/没有经验的程序员的快速解决方案,还是真的防止垃圾邮件和僵尸程序的最佳方法?



该问题比Webmasters.SE更适合User Experience.SE。但是,我不会迁移它,因为该站点仍处于测试阶段,并且问题已经解决。
亚当李尔

Answers:


7

ReCAPTCHA似乎非常安全,并且可能会比其他任何基于OCR的CAPTCHA解决方案都要持久。当您不确定是机器人还是人类时(例如,在第二次或第三次登录尝试之后,或者是否允许匿名评论),CAPTCHA很有用。用户通过身份验证后,请转储验证码。

还没有出现的替代方法是“ SAPTCHA ”。


2
抱怨验证码是不道德的,因为盲人无法获得该验证码,这是没有根据的,因为(a)您会说,并且(b)盲人的人少于0.5%。
乔什·K

5
// @ Josh K:(b)违反道德规范。(a)如果您确实实施了它。
Nemanja Trifunovic

3
@Nemanja:你对盲人和聋人怎么办?厨师为那些无法品尝的人做什么?您不能说某事是“不道德的”,因为它不适用于每个人。与IE不兼容的网站呢?他们是“不道德的”吗?哦,reCAPTCHA具有内置语音功能。
乔什·K

1
@乔什:不仅盲人,色盲或部分失明的人也会受到影响(尽管程度较小)。另外,我的英语说得很好,但是那些人为输入的验证码大部分都不是我所掌握的。我不会说这是不道德的,但这是一个可访问性问题。
Matthieu M.

1
@Josh K .:我不知道厨师做什么,但是作为程序员,我们可以做的是使我们的工作变得容易进行。这不仅是道德问题,在某些情况下还是法律要求。
Nemanja Trifunovic

9

我只是喜欢人们如何轻松地接受有关CATPCHA的“传统智慧”。作为具有十年经验并在可访问性方面具有专业知识的专业Web开发人员,我认为在任何情况下都不会您是否应实施验证码。我指的是具有线条,草书字体,3d效果等的种类。首先,它们阻止大量用户访问内容,包括许多老年人或每天有视力障碍的人(例如色盲)或英语不是母语的人。其次,引用“安全性”还不够充分。这是因为对于其中99.5%的垃圾邮件来说,让某人重新输入五个字母的单词就足够了“安全性”。人们经常提到的这些神话般的“机器人”并不是那么复杂。即便如此,对于那些精巧的人(同样,这是一个很小的数目),无论如何,典型的验证码仍然不够。因此,鉴于所有负面影响都远远超过任何实际收益,无论如何,大多数人都在想像,没有充分的理由使用它们。如果要防止垃圾邮件,您需要做的就是让人们重新输入“ blog”一词(如果他们可以复制并粘贴,也可以)。这是完全可以访问的,并且请相信我,足够的“安全性”。您会惊讶地发现所有垃圾邮件都被消除了,您甚至不必切断大量用户。

由同一用户从其他答案复制而来

我在一定程度上同意了这篇文章:“以我的经验,即使您拥有世界上最好的验证码,如今也有很多垃圾邮件发送者以低廉的工资聘请真实的人来简单地访问该网站并进行注册(或其他任何方式)并“手动”发布垃圾邮件。

因此,任何需要您区分“人类”和“机器人”的系统在面对实际人类时都不会起作用。无论您使用哪种系统,都不会做到万无一失,您将需要手动验证匿名(或“接近匿名”,即新注册)内容。”

然后发布开始建议一些复杂的Javascript。同样,如上所述,仅提示用户重新输入某些内容(我应该添加随机选择的文本是理想的选择),与显示需要解密的内容的模糊图像一样有效。我认为解密方面是不必要的层。再次,那只是我的意见,但这对我来说是完全有效的。

我还要补充一点,因为验证码违反了508节规则,所以无法在政府网站上使用。


实际上,这几乎就是我的工作。正如我在回答中说的那样,我只有一点点javascript,基本上可以为您执行cut'n'paste。
Dean Harding

您的选择实际上是我在回答中提到的“ SAPTCHA” :)。
Iiridayn

7

根据我的经验,即使您拥有世界上最好的验证码,如今仍有很多垃圾邮件发送者以低廉的工资聘请真实的人来简单地访问站点,注册(或以其他方式)并``手动''发布垃圾邮件。

因此,任何需要您区分“人类”和“机器人”的系统在面对实际人类时都不会起作用。无论您使用什么系统,都不会做到万无一失,并且您将需要手动验证匿名(或“接近匿名”,即新注册)内容。

实际上,我发现一个相当不错的系统是需要javascript的系统。也就是说,页面上有一些JavaScript,可将随机生成的值复制到表单的特殊字段中。在服务器上,验证该值已被复制。以我的经验,这阻止了许多垃圾邮件发送者。它不是100%,也许不如ReCAPTCHA,但它对我工作过的网站来说效果很好,您不必担心可访问性(有些客户端没有javascript,但是它们在这几天之间越来越少)。


对于垃圾邮件发送者来说,在decaptcher.com等网站上绕过1000个验证码,要支付2美元,这似乎是一个不错的选择。太可怕了-我访问的许多使用reCAPTCHA的网站现在都受到大量垃圾邮件的打击。
Allon Guralnek,2010年

6

使用蜜罐字段是/曾经是减少垃圾邮件的一种方法,而没有任何实际的可用性成本。

这是一篇描述它如何与某些CSS魔术配合使用的文章,尽管他们指出它的有效性有所下降,但仍然会吸引一些机器人。除了CSS(阅读:JS)之外,可能还有其他更先进的技术可以提高蜜罐的效率。


+1,只是因为我喜欢他们的新验证码系统。(没有剩余的选票,我会回来的!)
Josh K 2010年

Django在默认的Comment表单上使用honeypot字段,但我仍然收到垃圾邮件。我不知道它阻止了多少次尝试。
jonescb 2011年

+1我在自己的博客上使用了这些内容。它吸引了很多。但是话又说回来,我的博客并不受欢迎,因此也许没人愿意尝试对其进行垃圾邮件发送。
托尼

3

还有其他方法可以防止垃圾邮件和僵尸程序,但验证码是最好的方法。有时会以“ 2 + 10 =“或“您是人类吗?”之类的形式问一个简单的问题。至少在一段时间内可以用作验证码。


3

我使用reCaptcha是因为它可以用5%的努力减少90%的垃圾邮件。

我没有人抱怨验证码很困难,使事情变得更困难,或者可用性降低了。

垃圾邮件发送者和机器人很丰富。这很容易刮一种形式,开始提交错误的请求集体。这是一种可显着减少垃圾邮件和僵尸程序的简单,安全,可靠的方法。对于懒惰或缺乏经验的人来说,这不是一个快速的解决方案,而是经验导致了此解决方案,并且现在很容易实现。

喜欢验证码吗?一定不行。曲折的线条,这是什么意思,提示我输入错误。它有效的,但。


1
@josh是否有可见且容易获得的“抱怨”方式?我个人讨厌它们,但是reCaptcha易于部署(如您所述),而且
克里斯,2010年

@克里斯:当然可以,您可以给我发送电子邮件,在其他地方bit子,或者一次完成验证码然后在评论中告诉我。
乔什·K

我相信reCaptcha也可以听代码,我知道我不得不使用一次或两次,只是因为我使用的是垃圾监视器
WalterJ89 2010年

@Walter:实现reCaptcha非常简单,这就是我使用它的原因。您可以更改图片或收听正在说的图片,而您几乎不需要任何工作。
乔什(Josh K)2010年

1
:您还可以得到废话这样meta.stackexchange.com/questions/48840/...
TheLQ

3

我也同意减少垃圾邮件的数量是必要的,在采取任何对策之前,让我们考虑一下吧?

  1. 是否需要自动化检测?对于低流量网站,手动审核就足够了。无论如何,您将要阻止人们添加种族主义者/侮辱性言论,不是吗?
  2. 是否需要通过图灵测试以发表任何评论?垃圾邮件发送者通常尝试传递url,因此只有在检测到url时激活对策才是可行的(尽管稍微复杂一些)。
  3. 每次都必须通过图灵测试吗?可能必须过滤匿名用户(尽管您可能会记住IP),但是只有经过身份验证的用户成为“垃圾邮件”时(例如,在不到一个小时(或一天)的时间内,每第5条评论)才可以进行过滤。证明自己(基于白名单的系统手动或自动填充)

这三个主意应大大减少遭受这些对策的人数,以及他们遭受这些对策的次数。

最重要的是,除了验证码以外,它们还有其他对策,例如询问电子邮件地址,发送消息以及等待以特定文本为主题的响应(随机生成),然后再实际发布(一小时)在删除评论之前超时,例如)。


1

以我的经验,验证码是防止垃圾邮件的最佳方法,无论表单的编程方式如何,总是有一个比您的应用程序更好的垃圾邮件机器人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.