看起来我们将为Stack Overflow添加CAPTCHA支持。这对于防止机器人、垃圾邮件发送者和其他恶意脚本活动是必要的。我们只希望人类在这里发布或编辑东西!

我们将使用JavaScript (jQuery)验证码作为第一道防线:

http://docs.jquery.com/Tutorials:Safer_Contact_Forms_Without_CAPTCHAs

这种方法的优点是,对于大多数人来说,CAPTCHA永远不会可见!

然而,对于禁用JavaScript的人,我们仍然需要一个备用方案,这就是棘手的地方。

我为ASP编写了一个传统的CAPTCHA控件。NET,我们可以重复使用。

但是,我更倾向于使用一些文本化的东西,以避免为每个请求在服务器上创建所有这些图像的开销。

我见过这样的事情…

ASCII文本验证码:\/\/(_)\/\/ 数学难题:7减3乘以2等于多少? 小问题:癞蛤蟆和冰棍,哪个更好吃?

也许我只是在风车这里倾斜,但我希望有一个更少的资源密集型,非图像为基础的<noscript>兼容的验证码,如果可能的话。

想法吗?


当前回答

如果你使用你所拥有的验证码想法的组合(选择其中任何一个-或随机选择一个):

ASCII文本验证码://(_)// 数学难题:7减3乘以2等于多少? 小问题:癞蛤蟆和冰棍,哪个更好吃?

加上在页面的CSS隐藏部分放置完全相同的验证码-蜜罐的想法。这样,你就有了一个地方可以得到正确答案,而另一个地方的答案应该是不变的。

其他回答

如何显示9个随机的几何形状,并要求用户选择两个正方形,或两个圆或其他。应该很容易写,也很容易使用。

没有什么比你无法正确阅读短信更糟糕的了……

Ajax Fancy Captcha类型的图像,除了你必须拖放基于形状识别,而不是输入字母/数字包含在图像上。

虽然类似的讨论开始了:

我们正在一个经常进行数据挖掘的应用程序上尝试这个解决方案:

一个更好的验证码控制(看妈-没有图像!)

你可以在我们的建筑检查搜索中看到它的作用。

您可以查看Source并看到CAPTCHA只是HTML。

因此,CAPTCHA对所有用户都是强制性的 除了版主。[1]

这太愚蠢了。所以会有用户可以编辑网站上的任何帖子,但没有验证码就不能发布?如果你有足够的代表投票帖子,你有足够的代表发布没有验证码。如果有必要,可以调高一点。此外,你可以使用大量的垃圾邮件检测方法而无需图像识别,因此即使是未注册的用户也不需要填写那些该死的CAPTCHA表单。

虽然我们都应该知道基本的数学,但这个数学难题可能会引起一些困惑。在你的例子中,我相信有些人会回答“8”而不是“1”。

用粗体或斜体突出显示随机字符的简单文本字符串是否合适?用户只需要输入粗体/斜体字母作为验证码。

例如ssdfatwerweajhcsadkoghvefdhrffghlfgdhowfgh

在这种情况下,“堆栈”将是验证码。 显然,这个观点有很多不同的版本。

编辑:解决与此想法相关的一些潜在问题的示例变体:

使用随机颜色的字母代替粗体/斜体。 使用每秒钟红色字母作为验证码(减少机器人识别不同格式的字母来猜测验证码的可能性)