2011-03-08 26 views
1

該recaptcha API允許純JavaScript captcha creating and verifying。但是,網站如何相信用戶實際上通過這種方式解決了驗證碼問題?他們如何知道他們不只是改變JavaScript?您如何信任AJAX recaptcha請求?

如果所有計算都是由用戶完成的,那麼作爲後端,我們如何可以相信他們發送給我們的結果?

例如,假設您使用後端功能(如發送激活電子郵件),這需要您的新用戶證明他們是人類。使用正常的API後端可以調用reCaptcha並確認(因爲我們可以信任recaptcha)。通過AJAX驗證,用戶代理基本上在說「我解決了recaptcha - ,你可以信任我!」到你的後端。

我錯過了什麼嗎?

+1

你會希望他們基本上說'我解決了recaptcha - 你可以相信我!_因爲這就是_solution_是''。他們仍然需要解決它,並通過Ajax將解決方案以某種方式發回。 – Raynos 2011-03-08 17:03:00

回答

1

從文檔:

要驗證的解決方案,您將需要從部件到reCAPTCHA verification API傳遞兩個變量。

驗證部分需要在服務器上完成。

基本上,當您驗證時,您需要通過向您的服務器發送質詢和響應來向您的服務器發出AJAX請求。

然後,服務器上的腳本可以使用reCaptcha進行驗證,並將結果返回到您的網頁。您的後端腳本可能需要存儲一些會話變量,說明用戶已通過驗證碼測試。

+0

啊,我相信你是對的。我將其讀爲*所有驗證都是由用戶使用JavaScript方法*完成的。但顯然,AJAX recaptcha僅用於顯示/隱藏正在進行的搜索 - 而不是驗證它們。 – Xeoncross 2011-03-08 17:36:49