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