本文說明 Google Cloud Armor 適用的 reCAPTCHA 功能,並協助您判斷哪項功能最符合您的用途。
reCAPTCHA 提供下列功能,可與 Google Cloud Armor 整合:
功能總覽
Google Cloud Armor 整合服務的 reCAPTCHA 支援動作權杖、工作階段權杖和驗證問題頁面。
您可以在單一應用程式中使用一或多項 reCAPTCHA for Google Cloud Armor 功能。 舉例來說,您可以選擇為所有網頁套用工作階段權杖,並根據工作階段權杖的分數,將可疑要求重新導向至 reCAPTCHA 驗證頁面。此外,您也可以使用動作權杖來處理重要動作,例如結帳。詳情請參閱範例。
下表簡要比較 Google Cloud Armor 適用的 reCAPTCHA 功能:
| 比較類別 | reCAPTCHA 動作權杖 | reCAPTCHA 工作階段權杖 | reCAPTCHA 驗證問題頁面 |
|---|---|---|---|
| 用途 | 用於保護使用者動作,例如登入或留言。 | 用於保護網站網域中的整個使用者工作階段。 | 懷疑有垃圾內容活動導向網站,且需要篩除機器人時使用。 這個方法會中斷使用者的活動,因為使用者必須驗證人機驗證 (CAPTCHA) 問題。 |
| 支援的平台 | 網站和行動應用程式 | 網站 | 網站 |
| 用戶端整合工作 | 媒介
手動整合用戶端。 |
媒介
手動安裝 reCAPTCHA JavaScript,或透過 WAF 上的插入作業安裝。 |
低
安全性政策觸發插頁式廣告。 |
| 偵測準確度 | 最高
您可以使用用戶端、伺服器和動作專屬信號。 |
高
提供用戶端和伺服器專屬信號。 |
媒介
您可以使用用戶端和伺服器專屬信號。用戶端信號僅適用於插頁。 |
| 支援的 reCAPTCHA 版本 | reCAPTCHA 評分和核取方塊金鑰 | reCAPTCHA 評分機制金鑰 | 內嵌於插頁式廣告的 reCAPTCHA 驗證問題金鑰 |
reCAPTCHA 動作權杖
您可以透過 reCAPTCHA 動作符記,保護重要的使用者互動,例如網頁和行動應用程式的結帳程序。
reCAPTCHA 動作符記工作流程包含下列步驟:
- 當使用者觸發受 reCAPTCHA 保護的動作時,網頁或行動應用程式會傳送訊號,這些訊號會收集在瀏覽器中,供 reCAPTCHA 進行分析。
- reCAPTCHA 會將動作權杖傳送至網頁或行動應用程式。
- 將這個動作權杖附加至要保護的要求標頭。
- 當使用者透過動作權杖要求存取權時,Google Cloud Armor 會解碼並驗證動作權杖屬性,而不是後端應用程式。
- Google Cloud Armor 會根據您設定的安全性政策規則套用動作。
下圖顯示網站的 reCAPTCHA 動作權杖工作流程:
下圖顯示行動應用程式的 reCAPTCHA 動作權杖工作流程:
reCAPTCHA 工作階段權杖
如要保護網站網域上的整個使用者工作階段,可以使用 reCAPTCHA 工作階段權杖。您可以在指定期間內,跨要求重複使用有效的工作階段符記,不必在每次使用者動作時呼叫 execute(),減少使用者摩擦,並降低 execute() 的呼叫次數。
如要讓 reCAPTCHA 瞭解使用者的瀏覽模式,建議您在網站的所有網頁上使用 reCAPTCHA 工作階段權杖。
reCAPTCHA 工作階段權杖工作流程包含下列步驟:
- 瀏覽器會從 reCAPTCHA 載入 reCAPTCHA JavaScript。
- 呼叫
execute()後,reCAPTCHA JavaScript 會在使用者瀏覽器中,將工作階段權杖設為 Cookie。 - 只要 reCAPTCHA JavaScript 保持啟用,使用者的瀏覽器就會儲存 Cookie,且 reCAPTCHA JavaScript 會每 30 分鐘重新整理 Cookie。
- 使用者透過 Cookie 要求存取權時,Google Cloud Armor 會驗證這個 Cookie,並根據安全性政策規則套用動作。
下圖顯示 reCAPTCHA 工作階段符記工作流程:
reCAPTCHA 驗證問題頁面
您可以透過 reCAPTCHA 驗證問題頁面功能,將傳入要求重新導向至 reCAPTCHA,藉此判斷要求是正當行為,還是可能涉及詐欺。
重新導向和可能的 CAPTCHA 驗證會中斷使用者的活動。如果懷疑網站有垃圾內容活動,建議使用這項功能排除機器人。
當使用者首次造訪您的網站時,會發生下列事件:
- 在 Google Cloud Armor 層級,系統會將使用者的要求重新導向至 reCAPTCHA 驗證頁面。
- reCAPTCHA 會傳回內嵌 reCAPTCHA JavaScript 的 HTML 網頁。
- 系統顯示驗證頁面時,reCAPTCHA 會評估使用者互動。如有必要,reCAPTCHA 會向使用者顯示人機驗證問題。
視評估結果而定,reCAPTCHA 會執行下列操作:
- 如果使用者互動通過評估,reCAPTCHA 會發出豁免 Cookie。之後使用者對同一網站提出要求時,瀏覽器將該 Cookie 附加至要求,直到 Cookie 過期為止。根據預設,豁免 Cookie 會在三小時後到期。
- 如果使用者互動未通過評估,reCAPTCHA 就不會發出豁免 Cookie。
如果使用者透過 GET/HEAD 呼叫存取網頁,reCAPTCHA 會重新載入網頁並提供豁免 Cookie。如果使用者透過 POST/PUT 呼叫存取網頁,則必須點選網頁上的重新載入連結。
Google Cloud Armor 會免除重新導向含有有效豁免 Cookie 的要求,並授予網站存取權。
下方的序列圖顯示 reCAPTCHA 驗證頁面的工作流程: