阿贾克斯CAPTCHA验证(Ajax CAPTCHA validation )

2019-09-16 08:34发布

它是合理的(或安全)通过AJAX来验证验证码? 我想放置一个注册表格,没有任何页面重载。 是否安全? (我使用验证[1]和表格插件)

[1] http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Answer 1:

你不能依赖于JavaScript,以确保任何事情。 您可以使用它作为一个第一次通过,但你仍然需要做的服务器上的验证码验证(因为它似乎你打算做)。 例如,请参阅: http://www.howtocreate.co.uk/tutorials/javascript/security

我有一个完整的AJAX解决方案(没有重新加载页面)关注的是,它很可能会成为可能的一个用户绕过从POST回返回值,然后继续去,即使验证码无效。 但是,你可以跟踪任何验证码失败的服务器会话,并在您的申请表格最后仔细检查结果,因为最终一切都将进行服务器端。 如果验证码是从来没有有效的,那么你就必须拒绝注册,无论你从客户端接收的任何其他数据。



Answer 2:

实现这个合理的方法如下:

1)当请求表单页面,生成特定于会话的服务器端密钥。

2)当用户按下“提交”,使用AJAX调用发送用户输入的验证码文本到服务器。

3)服务器检查用户提交的值。 如果它等于在验证码的文本,返回在步骤1中生成的服务器侧密钥。

4)浏览器目前拥有服务器端的密钥。 当表单提交,检查由浏览器指定的服务器侧密钥在步骤1,如果是,则用户必须通过验证码生成的服务器端密钥相匹配,因此处理该请求。



Answer 3:

是的,它可以使用PHP和AJAX可以做到,但你需要每一个验证码加载该Reload按钮的时间来清除缓存。 这是给你一个很好的例子.. http://www.thetutlage.com/demo/captcha/

编辑| 我还发现,文章链接http://www.thetutlage.com/post=TUT120



Answer 4:

即使你使用AJAX,它还是服务器端,因为您对服务器调用验证。



文章来源: Ajax CAPTCHA validation