reCAPTCHA v3 會傳回各項要求的分數,而且不會對使用者造成任何困擾。使用者與您網站的互動情形即為評分的依據,您可藉由這些互動為網站採取適當行動。在 reCAPTCHA 管理控制台中註冊 reCAPTCHA v3 金鑰。
本頁說明如何在網頁上啟用及自訂 reCAPTCHA v3。
網站上的刊登位置
reCAPTCHA v3 不會幹擾使用者,因此您隨時可以執行,且完全不會影響使用者 轉換率reCAPTCHA 可在最符合你網站互動情形的情境下使用, 而這背後的來源因此,我們建議您 包括表單或動作的 reCAPTCHA 驗證,以及 數據分析
你可以在相同頁面中執行 reCAPTCHA,數量不限。
自動將挑戰繫結至按鈕
如要在網頁上使用 reCAPTCHA v3,最簡單的方法就是加入 編輯 HTML 按鈕,然後在網頁中加入一些屬性。
- 載入 JavaScript API。 - <script src="https://www.google.com/recaptcha/api.js"></script>
- 新增回呼函式來處理權杖。 - <script> function onSubmit(token) { document.getElementById("demo-form").submit(); } </script>
- 為 HTML 按鈕新增屬性。 - <button class="g-recaptcha" data-sitekey="reCAPTCHA_site_key" data-callback='onSubmit' data-action='submit'>Submit</button>
透過程式輔助方式叫用挑戰
如果您希望進一步控制 reCAPTCHA 執行的時間,可以使用
grecaptcha 物件中的 execute 方法。方法如下
您必須在 reCAPTCHA 指令碼載入中加入 render 參數。
- 使用您的網站金鑰載入 JavaScript API。 - <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
- 在要保護的每個動作上呼叫 - 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>
- 立即使用以下要求將權杖傳送至後端: 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
}
提示
- 載入 reCAPTCHA 程式庫時,grecaptcha.ready()會執行您的函式。目的地: 使用api.js避免競爭狀況,請在您的api.js呼叫 grecaptcha 或繼續使用 使用第 2 版 API 定義的 onload 回呼。
- 請嘗試將 execute呼叫掛到有趣的或敏感動作,例如 註冊、重設密碼、購買或玩遊戲。
- 使用 https://www.google.com/recaptcha/api.js?trustedtypes=true即可: 與 Trusted Types 相容的載入程式碼。
