验证码还是不验证码?

6

我讨厌验证码,你认为有更好的解决方案吗?


2
这里已经有一些答案:http://stackoverflow.com/questions/2940887/need-alternatives-to-captcha。不过,“我讨厌验证码”再加1分。 - Spiny Norman
和我一样:我也讨厌验证码。几个星期前,我不得不设置一个Gmail账户。我没有成功地输入验证码。我尝试了音频验证码,结果更糟糕。两个朋友和我尝试了几次后才成功了。 - ur.
6个回答

5

数学问题变得越来越受欢迎。

例如:3 + 2等于多少?

这些问题通常比验证码更容易阅读,因为有些用户可能会感到非常困惑。


为什么要莫名其妙地贬低这个回答呢?这是一个有效的答案,许多网站都采用了这种方法。你得到了我的赞同! - Alfred
谢谢@Alfred,当这个问题被投票否决时没有给出任何理由,我有点生气。 - mrwooster
也许因为这种方法不是百分百可靠的,但我认为它仍会有效地阻止很多垃圾邮件!即使是验证码也并非万无一失! - Alfred
1
严格来说,这是一个验证码。实际上,“输入这个单词”和“输入这个数字”之间有什么区别呢?你可以在这里使用任何一种常识性问题 - 随机例子,“哪种动物会汪汪叫?”或者甚至是,“你能在这张图片中看到什么文本”... - Benubird
对我来说,数学问题的区别在于它更容易阅读,并且是传统验证码的良好替代品。传统验证码的文本非常混乱,有成千上万的机器人专门用来破解它们。随着机器人变得越来越复杂,这些验证码也将变得不太可靠,但我认为它们目前是一个很好的解决方案。 - mrwooster
无论这是不同类型的图灵测试,它仍然是一种图灵测试。唯一的区别是这个测试很容易被破解。这不是一个安全的系统,这是一个明显的漏洞,应该给予许多-1分。 - rook

4

您可以查看实用的非图像验证码方法?

我之前发过一个问题需要易于使用但安全的验证码的建议/想法

然而,如果用户因验证码的存在而感到烦恼,那么关于这个问题已经有很多辩论,人们仍在努力寻找一种通用解决方案,即使对于非常流行的网站也可以工作。

您应该查看http://nedbatchelder.com/text/stopbots.html了解负面验证码的实现。但不幸的是,就网站特定的垃圾邮件攻击(当您的网站变得非常受欢迎时)而言,这还不够有效,据我所知。作者说他已成功地在不那么流行的网站上使用这些技术。当前最先进的负面验证码的总体结论是,无论您使用什么技术,只要针对您的网站,垃圾邮件发送者就可以编写他们的机器人在一定时间内破解它。当您的网站变得非常受欢迎时,他们可能会针对您的网站进行攻击。但是,在您的网站不是非常流行之前,您肯定可以使用这些验证码。


4
我有一个虚假的表单输入(比如邮编或其他机器人喜欢填写但你不需要的信息),它的样式是visibility: hidden; position: absolute。这么做的动机是让输入对用户不可见,但对机器人可见。因此,每当您收到填写了特定输入的请求时,您就知道它不是人工操作。
我使用visibility: hidden; position: absolute,以便它仍然占用空间,但不会影响设计。这是为了应对那些使用更复杂技术来检测隐藏输入的机器人,因为对于JS而言,如果它占用任何空间,则不是隐藏的。
截至目前,我还没有在大型成功网站上测试过这种技术,但仍值得一试。但请注意,某些浏览器(我指的是Safari/OSX!)会从您的联系人列表中获取信息,并自动填写所有输入字段(甚至是您的隐藏输入),因此您最好检查这个方向上的漏洞。

这是蜜罐方法,它是一个很好的、众所周知的和优秀的方法。 - vsync

4
我几年前以一种可爱的方式解决了这个问题。我在一个小型企业网站上有一个“给我发电子邮件”的表单,我希望它能够最大限度地让人们易于使用;但是垃圾邮件机器人找到了它并开始淹没合法的消息。通过阅读服务器日志,我了解到机器人在没有重新获取表单的情况下提交表单--有人缓存了我的表单,并在他们有一些垃圾信息要发送给我时简单地发送POST请求。隐藏的表单输入可以帮助几天,但然后某些机器人的所有者将找到正确的输入并将其缓存,洪水就会再次开始。
我没有任何后端可以向表单添加会话信息,也不想添加任何内容。相反,在“在此处输入您的消息”框和隐藏元素之间,我插入了一个脚本的输出,该脚本写入以下内容:
<!-- instructions for spam robots: we are a waste of your money, go away, thanks -->
<div class="float-left" style="font-size: x-small;">
There will be a short delay before you may submit the form. If you
have been typing in your information, the delay may already have
ended.
<br/><span>
4 ...
</span><span>
<!--
d92cbd14985295ac27929a6db7891a90ec4173a8358dcadab134cc589ce2de54
1468365bd33b520754ddb8223252e7e6e7584ddb956ef1bb28628e27cfea86c6
-->
垃圾块是随机生成的,以使其难以压缩。我尝试了一下需要多长时间才能让这些垃圾块变得有效。当我将表单大小增加到约200K时,垃圾邮件就停止了。
实际上,这并不是很多额外的数据,大约相当于向页面添加几张额外的图像。即使对于拨号上网的虚构客户来说,呈现文本框和呈现提交按钮之间的延迟也比实际撰写消息所需的时间短。

有趣。这是我第一次看到有人提出这个建议。 - user166390

2

1

如果你讨厌验证码,我可以给你两个快速的其他选项:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接