通过ajax验证CAPTCHA是否合理(或安全)? 我想在没有任何页面重新加载的情况下发布注册表单。它安全吗? (我使用的验证[1]和表格插件)Ajax验证码
[1] http://bassistance.de/jquery-plugins/jquery-plugin-validation/
通过ajax验证CAPTCHA是否合理(或安全)? 我想在没有任何页面重新加载的情况下发布注册表单。它安全吗? (我使用的验证[1]和表格插件)Ajax验证码
[1] http://bassistance.de/jquery-plugins/jquery-plugin-validation/
你不能依靠JavaScript来保护任何东西。您可以将其用作第一遍,但您仍然需要在服务器上执行验证码验证(因为您似乎打算这么做)。例如,请参阅:http://www.howtocreate.co.uk/tutorials/javascript/security
我对完整的AJAX解决方案(无页面重新加载)的担忧是,用户可能会绕过POST返回的返回值并继续执行,即使验证码是无效。但是您可以跟踪服务器会话中的任何验证码失败,并在注册表单末尾仔细检查结果,因为最终所有内容都将在服务器端完成。如果验证码从未有效,则无论您从该客户端收到的任何其他数据如何,您都必须拒绝注册。
即使你使用了AJAX,它还是服务器端,因为您对服务器调用验证。
实现这种合理的方法如下:
1)当请求表单页面,生成特定会话中的服务器端密钥。
2)当用户按下“提交”时,使用AJAX调用将用户输入的验证码文本发送到服务器。
3)服务器检查用户提交的值。如果它与验证码中的文本相同,则返回步骤1中生成的服务器端密钥。
4)浏览器现在具有服务器端密钥。表单提交后,检查浏览器指定的服务器端密钥是否与步骤1中生成的服务器端密钥匹配。如果是,则用户必须已通过验证码,以便处理该请求。
是的,它可以使用php和ajax完成,但是每次验证码加载该重新加载按钮时,您都需要清除缓存。这里有一个很好的例子.. http://www.thetutlage.com/demo/captcha/
编辑|我也发现文章链接http://www.thetutlage.com/post=TUT120
真棒我读的那个权利在你发布之前哈哈谢谢 – cppit 2012-11-08 05:39:41