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 布尔值 收到的令牌是否有效。如果令牌格式正确且未过期,则即使得分较低,也属于有效令牌。
recaptcha.token.action 字符串 在生成令牌时提供的操作名称。 仅为 action-token 填充。这是在创建令牌时传递给 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 设置自定义标头,并允许传入的用户请求继续传递到后端。然后,后端可以触发自定义保护。 系统会将标头附加到用户请求。您的后端会使用此标头触发自定义保护或分析。

后续步骤