本文將概要說明 reCAPTCHA 防火牆政策。
reCAPTCHA 防火牆政策是一系列可設定的規則,會根據條件屬性進行比對,保護網站免受垃圾內容和濫用行為侵擾。
reCAPTCHA 防火牆政策元件
reCAPTCHA 防火牆政策規則包含下列元件:
path
:防火牆政策規則適用的網址路徑。例如:/login
。路徑可以是 glob 模式,例如/*.html
。condition
:政策條件。政策條件是 CEL (一般運算語言) 運算式,必須解析為布林值。例如:recaptcha.score >= 0.5
。action
:WAF 外掛程式在符合政策條件時必須執行的動作。詳情請參閱政策處置。
當傳入要求符合政策的路徑和條件時,WAF 服務供應商的 reCAPTCHA 外掛程式會套用動作。可用動作包括:允許、封鎖要求,或將要求重新導向至插頁式驗證頁面。
系統會依序評估政策,並只啟用一項政策。 如果沒有符合的政策,預設規則是允許存取。
下列 reCAPTCHA 防火牆政策範例包含套用至 login
動作的規則。如果分數低於 0.5,系統就會封鎖存取權。
policy {
path: login.php
condition: recaptcha.score < 0.5
action: block
}
reCAPTCHA 防火牆政策條件屬性
下表列出 reCAPTCHA 權杖屬性,可用於定義 reCAPTCHA 防火牆政策中的條件。
屬性名稱 | 資料類型 | 說明 |
---|---|---|
recaptcha.token.valid |
布林值 | 收到的權杖是否有效。只要權杖格式正確且未過期,即使分數偏低,仍視為有效。 |
recaptcha.token.action |
字串 | 權杖產生時提供的動作名稱。
僅針對動作權杖填入。這是建立權杖時傳遞至 grecaptcha.enterprise.execute() 的 action 參數。詳情請參閱「動作名稱」。 |
recaptcha.score |
浮點數 | reCAPTCHA 權杖的分數。有效分數範圍為 0.0 到 1.0。 1.0 分代表互動的風險低,很可能是正當活動;0.0 分則代表互動的風險高,可能是詐欺行為。詳情請參閱「解讀分數」。 |
recaptcha.assessment_type |
整數 | 完成的評估類型。assessment_type
是根據隨要求傳遞的 WAF reCAPTCHA 金鑰設定。
如要在 CEL 運算式中比較
AssessmentType.ACTION 。
|
http.ip |
字串 | 傳入要求的 IP 位址。 |
http.path |
字串 | 要求 URI 的路徑。 |
http.domain |
字串 | 所要求 URI 的網域。 |
reCAPTCHA 防火牆政策動作
下表列出可在 reCAPTCHA 防火牆政策規則中指定的各種政策動作:
政策動作 | 說明 | 動作結果 |
---|---|---|
allow |
允許存取要求的頁面。 | 系統會將收到的使用者要求不間斷地轉送至後端。 |
block |
拒絕存取要求的頁面。 | 系統會向使用者傳回 403 (禁止) HTTP 錯誤。 |
redirect |
將傳入的使用者要求重新導向至 reCAPTCHA 驗證頁面。 | reCAPTCHA 驗證頁面會評估使用者要求,並根據評估結果附加 Cookie。稍後,系統會再次將使用者要求重新導向至原始頁面。 |
substitute |
針對詐欺使用者要求,提供與要求頁面不同的頁面。 | 將要求傳送至後端時,系統會將要求路徑替換為其他路徑。使用者仍會看到原始網址。 |
set_header |
設定自訂標頭,並允許傳入的使用者要求繼續前往後端。後端接著可以觸發自訂保護措施。 | 系統會在使用者要求中附加標頭。後端會使用這個標頭觸發自訂保護或分析。 |