reCAPTCHA 防火墙政策概览

本文档简要介绍了 reCAPTCHA 防火墙政策。

reCAPTCHA 防火墙政策是一组与条件属性匹配的规则,可保护您的网站免受垃圾内容和滥用行为的侵扰。每条规则都会针对传入流量进行评估。这些规则的评估顺序与其在政策中添加的顺序相同。

reCAPTCHA 防火墙政策组件

reCAPTCHA 防火墙政策规则由以下部分组成:

  • path:应用防火墙政策规则的网址路径。例如 /login
  • 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 boolean 收到的令牌是否有效。如果未格式错误或未过期,即使得分很低,令牌也有效。
recaptcha.token.action 字符串 在生成令牌时提供的操作名称。 仅为操作令牌填充。这是创建令牌时会传递给 grecaptcha.enterprise.execute()action 参数。如需了解详情,请参阅操作名称
recaptcha.score float 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 设置自定义标头并允许传入的用户请求继续访问后端。然后,后端可以触发自定义保护。 标头会附加到用户请求。您的后端使用此标头来触发自定义保护或分析。

后续步骤