看起来我们将为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>兼容的验证码,如果可能的话。

想法吗?


当前回答

这一个使用1px块生成看起来像图像,但纯html/css。请参见此处的示例链接:http://www.nujij.nl/registreren.2051061.lynkx?_showInPopup=true

其他回答

这一个使用1px块生成看起来像图像,但纯html/css。请参见此处的示例链接:http://www.nujij.nl/registreren.2051061.lynkx?_showInPopup=true

回答最初的问题:

ASCII很糟糕:我不得不眯着眼睛才能找到“WOW”。这是正确的吗?它可以是“VVOVV”或其他什么; 非常简单的算术很好。盲人也能回答。(但正如Jarod所说,要注意操作符优先级。)我想有人可以编写一个解析器,但这使得垃圾邮件的成本更高。 琐事是可以的,但你必须把它们都写出来:-(

我看过动物的照片[那是什么?]。漫画投票使用一个人物的图片,他们的名字写在图像的某处[输入名字]。不可能解析,对盲人来说不行。

您可以使用音频回退读取字母和数字(与验证码中的字母和数字相同)。

最后一道防线:使垃圾邮件易于报告(一键)和易于删除(一个重述屏幕检查是否是垃圾邮件帐户,显示最后十条消息,一键删除帐户)。不过,这仍然很费时。

你看过威基斯吗?

Waegis是一个在线web服务,它公开了一个开放的API(应用程序编程接口)。它通过API方法获取传入数据,并应用快速检查,及时识别垃圾邮件和合法内容。然后它将结果返回给客户端,以指定内容是否是垃圾邮件。”

在实现前面提到的蜜罐验证码方法后,我们的表单垃圾邮件已经大幅减少。我相信自从实施以来,我们还没有收到任何通知。

@ pc1oad1letter我也注意到在我的帖子。然而,这只是一个想法,而不是实际的实现。改变字体或使用不同的颜色,而不是粗体/斜体,可以很容易地解决可用性问题。