reCAPTCHA v3

reCAPTCHA v3 會傳回各項要求的分數,而且不會對使用者造成任何困擾。使用者與您網站的互動情形即為評分的依據,您可藉由這些互動為網站採取適當行動。在 reCAPTCHA 管理控制台中註冊 reCAPTCHA v3 金鑰。

本頁說明如何在網頁上啟用及自訂 reCAPTCHA v3。

網站上的刊登位置

reCAPTCHA v3 不會幹擾使用者,因此您隨時可以執行,且完全不會影響使用者 轉換率reCAPTCHA 可在最符合你網站互動情形的情境下使用, 而這背後的來源因此,我們建議您 包括表單或動作的 reCAPTCHA 驗證,以及 數據分析

你可以在相同頁面中執行 reCAPTCHA,數量不限。

自動將挑戰繫結至按鈕

如要在網頁上使用 reCAPTCHA v3,最簡單的方法就是加入 編輯 HTML 按鈕,然後在網頁中加入一些屬性。

  1. 載入 JavaScript API。

     <script src="https://www.google.com/recaptcha/api.js"></script>
    
  2. 新增回呼函式來處理權杖。

     <script>
       function onSubmit(token) {
         document.getElementById("demo-form").submit();
       }
     </script>
    
  3. 為 HTML 按鈕新增屬性。

    <button class="g-recaptcha" 
            data-sitekey="reCAPTCHA_site_key" 
            data-callback='onSubmit' 
            data-action='submit'>Submit</button>
    

透過程式輔助方式叫用挑戰

如果您希望進一步控制 reCAPTCHA 執行的時間,可以使用 grecaptcha 物件中的 execute 方法。方法如下 您必須在 reCAPTCHA 指令碼載入中加入 render 參數。

  1. 使用您的網站金鑰載入 JavaScript API。

    <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
    
  2. 在要保護的每個動作上呼叫 grecaptcha.execute

       <script>
          function onClick(e) {
            e.preventDefault();
            grecaptcha.ready(function() {
              grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) {
                  // Add your logic to submit to your backend server here.
              });
            });
          }
      </script>
    
  3. 立即使用以下要求將權杖傳送至後端: verify

解譯分數

reCAPTCHA v3 會傳回分數 (1.0 很可能是良好的互動,0.0 很可能是機器人)。 根據分數,您可以在您的網站內容中採取不同的動作。每個網站都是 以下將舉例說明網站如何使用分數。如以下範例所示 是更全面地保護網站,而不是封鎖流量。

用途 建議
首頁 在篩選抓取工具時,在管理控制台中統一檢視流量。
登入 如果分數低,需要雙重驗證或電子郵件驗證,以防止憑證填充攻擊。
社交 針對濫用使用者所發出的未回應好友邀請設下限制,並將有風險的留言送交審核。
電子商務 將您的實際銷售置於機器人之前並識別風險交易。

reCAPTCHA 透過查看你網站上的實際流量來瞭解。因此,在測試環境中的分數 可能與正式環境不同。reCAPTCHA v3 中斷使用者流程,您可以先執行 reCAPTCHA 而不採取行動 門檻值,方法是在管理控制台中查看流量門檻。變更者: 可以使用 0.5 的門檻

動作

reCAPTCHA v3 導入了新概念:動作。當您指定動作名稱時 啟用下列新功能:

  • 報表中 管理控制台
  • 根據行動內容情境進行自我調適風險分析,因為濫用 行為可能有所不同

請注意,驗證 reCAPTCHA 回應時,請務必驗證 動作名稱即為預期名稱。

網站驗證回應

請求驗證回應權杖,例如 reCAPTCHA v2 或 隱形 reCAPTCHA。

回應是 JSON 物件:

{
  "success": true|false,      // whether this request was a valid reCAPTCHA token for your site
  "score": number             // the score for this request (0.0 - 1.0)
  "action": string            // the action name for this request (important to verify)
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "hostname": string,         // the hostname of the site where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

提示

  1. 載入 reCAPTCHA 程式庫時,grecaptcha.ready() 會執行您的函式。目的地: 使用 api.js 避免競爭狀況,請在您的api.js 呼叫 grecaptcha 或繼續使用 使用第 2 版 API 定義的 onload 回呼
  2. 請嘗試將 execute 呼叫掛到有趣的或敏感動作,例如 註冊、重設密碼、購買或玩遊戲。
  3. 使用 https://www.google.com/recaptcha/api.js?trustedtypes=true 即可: 與 Trusted Types 相容的載入程式碼。