2011-03-29 57 views
1

我试图在我的动态形式中使用reCaptcha。在最简单的层面上,如果reCaptcha无效,我希望表单不通过。下面是将张贴的形式代码的一部分:使用jQuery实现reCaptcha

if($("#registerPost").valid() && /*reCaptcha valid*/) 
{ 
    $.post('php/registerPost.php', $('#registerPost').serialize(), function(data){ 
     window.location.replace("mainpage"); 
    } 
} 

我还需要证明,如果的ReCaptcha是通过把和无效返回一个div,但我知道该怎么做。

所以我的问题是 - 我如何显示一个reCaptcha并让它自己检查,全部动态地没有页面刷新,就像我的表单的其余部分一样,然后如果它是有效的,使布尔值为真,并且如果无效,使布尔值为假?

回答

1

我会做一个ajax调用来验证重新验证码的正确性和基于返回值,我会决定,如果我需要发布表单。

+1

+1但这还不够:ajax调用还需要返回一个令牌,然后将该令牌提交给表单。否则,你不能相信表单文章没有被恶意生成,假装验证码被批准。你也可以通过例如跟踪相同的客户端IP(或会话,如果有的话)最近在接受邮件之前进行了成功的验证码检查。 – Rup 2011-03-29 17:42:52

+0

我到底该怎么做?我会用它的reCaptcha代码创建一个单独的PHP文件,还是我会在JS中完成这些工作? – AKor 2011-03-29 17:54:35