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

想法吗?


当前回答

最近,我开始添加一个标签,名称和id设置为“message”。我将它设置为隐藏与CSS(显示:none)。垃圾邮件机器人看到它,填写并提交表单。服务器端,如果文本区域与id名称填写我标记为垃圾邮件。

我正在研究的另一项技术是随机生成名称和id,其中一些是垃圾邮件检查,另一些是常规字段。

这对我来说非常有效,我还没有收到任何成功的垃圾邮件。然而,我的网站的访问者却少得多:)

其他回答

即使使用rep,仍然应该有某种类型的验证码,以防止恶意脚本攻击。

Asirra是史上最可爱的验证码。

蜜罐验证码怎么样?

我知道没人会读这篇文章,但是狗和猫的验证码呢?

你需要分辨出哪个是猫,哪个是狗,机器做不到。 http://research.microsoft.com/asirra/

是一个很酷的…

我认为一个定制的验证码是你最好的选择。这种方法需要一个专门针对机器人/脚本来破解它。这种努力因素应该会减少尝试的次数。人类毕竟是懒惰的