簡體   English   中英

與Google reCaptcha v3相關的問題

[英]Issues related to Google reCaptcha v3

我想將reCaptcha集成到一個網站中,對此工作感到有些困惑。

這是我的配置方式:

  1. 在頭中添加了以下代碼:

     <script src='https://www.google.com/recaptcha/api.js?render=SITE_KEY></script> 
  2. 在頁面加載時使用此代碼來獲取reCaptcha響應

 <script> grecaptcha.ready(function() { grecaptcha.execute('SITE_KEY', {action: 'register'}) .then(function(token) { jQuery('#recaptcha').val(token); }); }); </script> 

  1. 使用此代碼驗證驗證碼響應

     $secret = 'SECRET_KEY'; $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['recaptcha']); $responseData = json_decode($verifyResponse); if($responseData->success){ //valid response, move forward }else{ //captcha check failed, throw an error } 

這對我來說似乎很好,我的要求得到0.9分。

問題:假設由於任何原因,由於有效的用戶請求,驗證碼失敗(例如,ip被用作垃圾郵件或任何其他Google驗證檢查失敗)。 但是用戶是合法的,因此:

  1. 用戶如何證明自己的人格? (如以前的復選框版本)
  2. 如果用戶加載注冊表並參加其他活動,則用戶將在一段時間后返回(例如10分鍾)。 當用戶嘗試提交表單時,驗證碼檢查將失敗。 (我嘗試過此操作,並返回“超時或重復”錯誤)
  3. 有什么方法可以重新加載驗證碼,而無需重新加載頁面?

請讓我知道,如何克服這些問題?

將reCAPTCHA V2與V3添加在一起。 如果V3失敗。 使用V2驗證用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM