本文档简要介绍了 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 表达式中
AssessmentType.ACTION 。
|
http.ip |
字符串 | 传入请求的 IP 地址。 |
http.path |
字符串 | 请求 URI 的路径。 |
http.domain |
字符串 | 所请求 URI 的网域。 |
reCAPTCHA 防火墙政策操作
下表列出了您可以在 reCAPTCHA 防火墙政策规则中指定的各种政策操作:
政策操作 | 说明 | 操作的结果 |
---|---|---|
allow |
允许访问请求的网页。 | 传入的用户请求不会中断到后端。 |
block |
拒绝用户访问所请求的页面。 | 向用户返回 403(禁止访问)HTTP 错误。 |
redirect |
将传入的用户请求重定向到 reCAPTCHA 验证页面。 | reCAPTCHA 验证页面会评估用户请求,并根据评估结果附加 Cookie。之后,系统会再次将用户请求重定向到原始页面。 |
substitute |
针对欺诈性用户请求提供所请求页面以外的页面。 | 在将请求发送到后端时,请求的路径将被替换为其他路径。用户仍会看到原始网址。 |
set_header |
设置自定义标头并允许传入的用户请求继续访问后端。然后,后端可以触发自定义保护。 | 标头会附加到用户请求。您的后端使用此标头来触发自定义保护或分析。 |