2011-03-29 36 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