reCAPTCHA 防火牆政策總覽

本文將概要說明 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 運算式中比較 recaptcha.assessment_type 的值,請使用下列其中一個常數:

  • AssessmentType.ACTION
  • AssessmentType.SESSION
  • AssessmentType.CHALLENGEPAGE
  • AssessmentType.EXPRESS
舉例來說,如要比較動作權杖評估,請使用 AssessmentType.ACTION
http.ip 字串 傳入要求的 IP 位址。
http.path 字串 要求 URI 的路徑。
http.domain 字串 所要求 URI 的網域。

reCAPTCHA 防火牆政策動作

下表列出可在 reCAPTCHA 防火牆政策規則中指定的各種政策動作:

政策動作 說明 動作結果
allow 允許存取要求的頁面。 系統會將收到的使用者要求不間斷地轉送至後端。
block 拒絕存取要求的頁面。 系統會向使用者傳回 403 (禁止) HTTP 錯誤。
redirect 將傳入的使用者要求重新導向至 reCAPTCHA 驗證頁面。 reCAPTCHA 驗證頁面會評估使用者要求,並根據評估結果附加 Cookie。稍後,系統會再次將使用者要求重新導向至原始頁面。
substitute 針對詐欺使用者要求,提供與要求頁面不同的頁面。 將要求傳送至後端時,系統會將要求路徑替換為其他路徑。使用者仍會看到原始網址。
set_header 設定自訂標頭,並允許傳入的使用者要求繼續前往後端。後端接著可以觸發自訂保護措施。 系統會在使用者要求中附加標頭。後端會使用這個標頭觸發自訂保護或分析。

後續步驟