本文說明 Google Cloud Armor 適用的 reCAPTCHA 功能,並協助您判斷哪項功能最符合您的用途。
reCAPTCHA 提供下列功能,可與 Google Cloud Armor 整合:
功能總覽
Google Cloud Armor 整合適用的 reCAPTCHA 支援動作權杖、工作階段權杖、驗證頁面和 reCAPTCHA Express
您可以在單一應用程式中使用一或多項 reCAPTCHA for Google Cloud Armor 功能。 舉例來說,您可以選擇為所有網頁套用工作階段符記,並根據工作階段符記的分數,將可疑要求重新導向至 reCAPTCHA 驗證問題頁面。此外,您也可以使用動作權杖執行重要動作,例如結帳。詳情請參閱範例。
下表簡要比較 Google Cloud Armor 適用的 reCAPTCHA 功能:
比較類別 | reCAPTCHA 動作權杖 | reCAPTCHA 工作階段權杖 | reCAPTCHA 驗證頁面 | reCAPTCHA Express |
---|---|---|---|---|
用途 | 用於保護使用者動作,例如登入或留言。 | 用於保護網站網域中的整個使用者工作階段。 | 懷疑網站有垃圾內容活動,需要篩除機器人時使用。 這個方法會中斷使用者的活動,因為使用者必須驗證人機驗證問題。 |
如果您的環境不支援整合 reCAPTCHA JavaScript 或行動裝置 SDK,請使用 reCAPTCHA Express。 |
支援的平台 | 網站和行動應用程式 | 網站 | 網站 | 所有 HTTP 要求。 包括:API、網站、行動應用程式和 IoT 裝置,例如電視和遊戲主機 |
用戶端整合工作 | 中
手動整合用戶端。 |
中
手動安裝 reCAPTCHA JavaScript,或透過 WAF 上的插入作業安裝。 |
低
安全性政策觸發的中間頁廣告。 |
低
沒有用戶端整合。 |
偵測準確度 | 最高
您可以使用用戶端、伺服器和動作專屬信號。 |
高
提供用戶端和伺服器專屬信號。 |
中
您可以使用用戶端和伺服器專屬信號。用戶端信號僅適用於中繼網頁。 |
低
僅提供伺服器端信號。 |
支援的 reCAPTCHA 版本 | reCAPTCHA 評分和核取方塊金鑰 | 以 reCAPTCHA 分數為準的金鑰 | 內嵌於插頁式廣告中的 reCAPTCHA 驗證問題型金鑰 | reCAPTCHA 快速鍵 |
reCAPTCHA 動作權杖
您可以透過 reCAPTCHA 動作符記,保護重要的使用者互動,例如網頁和行動應用程式的結帳程序。
reCAPTCHA 動作符記工作流程包含下列步驟:
- 當使用者觸發受 reCAPTCHA 保護的動作時,網頁或行動應用程式會傳送訊號,這些訊號會收集在瀏覽器中,供 reCAPTCHA 進行分析。
- reCAPTCHA 會將動作符記傳送至網頁或行動應用程式。
- 將這個動作權杖附加至要保護的要求標頭。
- 當使用者透過動作權杖要求存取權時,Google Cloud Armor 會解碼並驗證動作權杖屬性,而不是後端應用程式。
- Google Cloud Armor 會根據您設定的安全性政策規則採取行動。
以下序列圖表顯示網站的 reCAPTCHA 動作權杖工作流程:
下圖顯示行動應用程式的 reCAPTCHA 動作權杖工作流程:
reCAPTCHA 工作階段權杖
如要保護網站網域上的整個使用者工作階段,可以使用 reCAPTCHA 工作階段符記。工作階段符記可讓您在指定時間內重複使用現有的 reCAPTCHA 評估,因此特定使用者不需要再進行評估,可減少使用者困擾,並降低 reCAPTCHA 呼叫總次數。
為讓 reCAPTCHA 瞭解終端使用者的瀏覽模式,建議您在網站的所有網頁上使用 reCAPTCHA 工作階段符記。
reCAPTCHA 工作階段符記工作流程包含下列步驟:
- 瀏覽器會從 reCAPTCHA 載入 reCAPTCHA JavaScript。
- 評估作業完成後,reCAPTCHA JavaScript 會在使用者瀏覽器上將工作階段權杖設為 Cookie。
- 使用者的瀏覽器會儲存 Cookie,只要 reCAPTCHA JavaScript 保持啟用狀態,reCAPTCHA JavaScript 就會每 30 分鐘重新整理 Cookie。
- 當使用者透過 Cookie 要求存取權時,Google Cloud Armor 會驗證這個 Cookie,並根據安全性政策規則套用動作。
下圖顯示 reCAPTCHA 工作階段符記工作流程:
reCAPTCHA 驗證頁面
您可以利用 reCAPTCHA 驗證問題頁面功能,將傳入的要求重新導向至 reCAPTCHA,判斷每項要求是否可能為詐欺或正當要求。
重新導向和可能的人機驗證程序會中斷使用者的活動。如果懷疑網站有垃圾內容活動,建議使用這項功能篩除機器人。
當使用者首次造訪您的網站時,會發生下列事件:
- 在 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 驗證頁面的工作流程: