什么是好的隐形验证码?

时间:2009-06-09 21:06:09

标签: captcha

什么是好的隐形验证码?我的网站需要JavaScript,所以任何需要的东西都可以。

6 个答案:

答案 0 :(得分:47)

添加一个新的输入字段,将其标记为“请留空”,使用CSS隐藏它,如果填写该字段则忽略该帖子。如下所示:

<style type='text/css'>
#other_email_label, #other_email {
    display: none;
}
</style>
...
<form action='mail'>
<label id='other_email_label' for='other_email'>Please leave blank:</label>
<input type='text' name='other_email' id='other_email'>
...
</form>

所以一个人不会看到那个字段(除非他们关闭了CSS,在这种情况下他们会看到标签并将其留空)但垃圾邮件机器人会将其填入。任何填充该字段的帖子必须来自垃圾邮件机器人。

答案 1 :(得分:12)

Here's Phil Haack的一个简单的数学验证码。它甚至适用于禁用的JavaScript。

用他自己的话说:

  

它的工作方式是渲染   一些javascript执行真的   简单的计算和写   使用回答隐藏文本字段   JavaScript的。当用户提交时   表格,我们从提交的值   隐藏的形式领域,结合它   一个秘密的盐值,然后哈希   整个事情在一起。然后我们比较   这个值带有哈希值   预期的答案,存储在一个   隐藏表单字段base64编码。如果   javascript被禁用,然后我们渲染   将问题作为文本旁边的a   可见文本字段,从而给用户   通过非JavaScript来阅读您的网站   浏览器有机会发表评论。

答案 2 :(得分:4)

我使用了Display:None文本框的技术,拒绝任何填充它的提交,并且运气不错。

答案 3 :(得分:1)

值得谷歌推出的内容&#39; Invisible ReCAPTCHA&#39; (https://www.google.com/recaptcha/intro/comingsoon/invisible.html),我已经在我的网站上列入白名单。目前正在实施它,但是文档并没有详细阐述......:)

答案 4 :(得分:0)

MTCaptcha是一种reCaptcha验证码服务,类似于最近推出的reCaptcha V3,它支持无形验证码,该验证码对大多数用户不可见,但如果感觉到流量有危险,则显示验证码。

答案 5 :(得分:-1)

如果你的意思是 - 使用人类无法看作人类验证测试的验证码 - 我认为这是不可能的。

这样一个机器人忽略验证码将为真人传递!似乎是一个天真垃圾邮件机器人的陷阱。

如果您希望受影响密码保护的网站能够与没有javascript的客户合作 - 那么您应该将其硬编码为html。

此外,如果您可以可靠地识别受信任的用户(通过判断呼叫或检测某些使用模式) - 您可以让他们在没有验证码的情况下发布到您的站点。