這份文件可協助您瞭解網路應用程式防火牆適用的 reCAPTCHA 功能,並判斷哪項功能最符合您的用途。
您可以透過 reCAPTCHA for WAF 的下列功能,與網頁應用程式防火牆 (WAF) 服務供應商整合:
功能總覽
reCAPTCHA for WAF 整合作業支援動作符記、工作階段符記、驗證頁面和 reCAPTCHA Express
您可以在單一應用程式中使用一或多項 reCAPTCHA for WAF 功能。 舉例來說,您可以選擇為所有網頁套用工作階段符記,並根據工作階段符記的分數,將可疑要求重新導向至 reCAPTCHA 驗證問題頁面。此外,您也可以使用動作權杖執行重要動作,例如結帳。詳情請參閱範例。
下表簡要比較可用的 reCAPTCHA for WAF 功能:
比較類別 | 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 會將動作符記傳送至網頁或行動應用程式。
- 將這個動作權杖附加至要保護的要求標頭。
- 使用者透過動作權杖要求存取權時,WAF 外掛程式會解碼並驗證動作權杖屬性,而不是後端應用程式。
- WAF 外掛程式會根據您設定的安全政策規則或防火牆政策規則 (以適用者為準) 套用動作。
以下序列圖表顯示網站的 reCAPTCHA 動作權杖工作流程:
Google Cloud Armor
第三方 WAF 服務供應商
下圖顯示行動應用程式的 reCAPTCHA 動作權杖工作流程:
reCAPTCHA 工作階段權杖
如要保護網站網域上的整個使用者工作階段,可以使用 reCAPTCHA 工作階段符記。工作階段符記可讓您在指定時間內重複使用現有的 reCAPTCHA 評估,因此特定使用者不需要再進行評估,可減少使用者困擾,並降低 reCAPTCHA 呼叫總次數。
為讓 reCAPTCHA 瞭解使用者的瀏覽模式,建議您在網站的所有網頁上使用 reCAPTCHA 工作階段符記。
reCAPTCHA 工作階段符記工作流程包含下列步驟:
- 瀏覽器會從 reCAPTCHA 載入 reCAPTCHA JavaScript。
- 評估作業完成後,reCAPTCHA JavaScript 會在使用者瀏覽器上將工作階段權杖設為 Cookie。
- 使用者的瀏覽器會儲存 Cookie,只要 reCAPTCHA JavaScript 保持啟用狀態,reCAPTCHA JavaScript 就會每 30 分鐘重新整理 Cookie。
- 使用者透過 Cookie 要求存取權時,WAF 外掛程式會驗證這個 Cookie,並根據安全性政策規則或防火牆政策規則套用動作。
下圖顯示 reCAPTCHA 工作階段符記工作流程:
Google Cloud Armor
第三方 WAF 外掛程式
reCAPTCHA 驗證頁面
您可以利用 reCAPTCHA 驗證問題頁面功能,將傳入的要求重新導向至 reCAPTCHA,判斷每項要求是否可能為詐欺或正當要求。
重新導向和可能的人機驗證程序會中斷使用者的活動。如果懷疑網站有垃圾內容活動,建議使用這項功能篩除機器人。
當使用者首次造訪您的網站時,會發生下列事件:
- 在 WAF 層,系統會將使用者要求重新導向至 reCAPTCHA 驗證頁面。
- reCAPTCHA 會傳回內嵌 reCAPTCHA JavaScript 的 HTML 網頁。
- 系統顯示驗證頁面時,reCAPTCHA 會評估使用者互動。如有必要,reCAPTCHA 會向使用者顯示人機驗證問題。
視評估結果而定,reCAPTCHA 會執行下列操作:
- 如果使用者互動通過評估,reCAPTCHA 會發放豁免 Cookie。在 Cookie 到期前,瀏覽器會將這項豁免 Cookie 附加至使用者對同一網站的後續要求。根據預設,豁免 Cookie 會在三小時後失效。
- 如果使用者互動未通過評估,reCAPTCHA 就不會發放豁免 Cookie。
如果使用者透過 GET/HEAD 呼叫存取網頁,reCAPTCHA 會重新載入網頁並提供豁免 Cookie。如果使用者透過 POST/PUT 呼叫存取網頁,則必須點選網頁上的重新載入連結。
WAF 外掛程式會免除含有有效豁免 Cookie 的要求再次遭到重新導向,並授予網站存取權。
下方的序列圖顯示 reCAPTCHA 驗證頁面的工作流程:
Google Cloud Armor
第三方 WAF 服務供應商
reCAPTCHA express for WAF
您可以使用 reCAPTCHA Express,在不支援執行 reCAPTCHA JavaScript 或內建行動裝置 SDK 的環境中保護應用程式,例如 IoT 裝置和機上盒。您可以將 reCAPTCHA Express 整合至 reCAPTCHA WAF 服務供應商,或應用程式伺服器上的獨立環境。
reCAPTCHA Express 只會使用後端信號產生 reCAPTCHA 風險分數,因此偵測準確度會比涉及用戶端元件的整合方式低。您可以使用這項分數評估任何 HTTP 要求。
reCAPTCHA Express 工作流程包含下列步驟:
- 使用者要求存取網頁時,WAF 外掛程式會傳送要求,建立評估。
- reCAPTCHA 會評估使用者互動,並傳回風險分數。
- 根據風險分數,reCAPTCHA WAF 外掛程式或應用程式伺服器會允許或封鎖存取權。
下列序列圖顯示 reCAPTCHA Express 工作流程:
後續步驟
- 瞭解 Google Cloud Armor 的權杖屬性。
- 在網站上整合 reCAPTCHA for WAF 與 Google Cloud Armor。
- 將 reCAPTCHA for WAF 與行動應用程式上的 Google Cloud Armor 整合。
- 瞭解 Fastly 的權杖屬性。
- 將 reCAPTCHA for WAF 與 Fastly 整合。
- 在應用程式伺服器上設定 reCAPTCHA Express。