您在配置自定义防护策略时,可以设置高级条件,以匹配更多访问请求特征。本文提供高级条件配置的适用场景和参数字段说明。
在配置策略时,可以设置基本的特征信息,如请求路径、需要屏蔽的 IP 地址等信息。如果您还掌握了更详情的请求流量特征,可以配置高级条件参数,有助于提升防护效果。
例如,在面向/login.html
设置自定义拦截响应规则时,需要对客户端 IP 为公网 IP 的访问请求返回相应信息,则可以参考如下配置条件。
当用户通过公网 IP 客户端访问您的域名路径/login.html
时,会收到抱歉,公网 IP 无法访问。
的页面响应信息。
匹配字段 | 说明 | 支持的逻辑符 | 配置示例 |
---|---|---|---|
请求协议 | 请求使用的协议类型,包括 HTTP 和 HTTPS。 |
|
|
请求uri | 请求的统一资源标识符URI(Uniform Resource Identifier),包括 URI path 和 query string。
|
|
|
请求方法 | 请求的方法,用于指示客户端想要对服务器上的资源进行什么类型的操作,包括 GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE、PATCH 等。 |
| POST |
请求路径 | 请求的路径,即 URI path。出现在域名之后,帮助服务器找到用户希望访问的特定资源,例如 |
|
|
请求参数 | 请求的参数,即 query string。用于筛选、排序或修改资源。出现在 |
|
|
请求头 | 请求的头部信息,包含客户端和请求本身的信息,例如客户端类型、认证信息等。 说明 使用 |
|
|
请求 User-Agent | 请求的客户端标识信息,例如浏览器名称和版本。 |
|
|
请求 refer | 请求来源标识信息,用于告知服务器,当前请求是从哪个页面或资源链接过来的。 |
|
|
请求 cookie | 请求的 cookie 信息,标识用户是否已经登录以及登录的身份信息,以及其他访问信息。 |
|
|
请求体长度 | 请求体中数据的字节数(Content-Length)。 |
|
|
请求体格式 | 请求体中数据的类型(Content-Type),例如:
|
|
|
x-forwarded-for | 请求的客户端真实 IP,用于在代理服务器或负载均衡器等中间层将原始客户端的 IP 地址传递给目标服务器。 |
|
|
客户端ip | 发起请求的客户端 IP 地址。 |
|
|
自定义args | 自定义请求参数。 |
|
|
自定义header | 自定义请求头部字段,例如携带客户端设备类型 |
|
|
自定义cookie | 自定义 Cookie 字段,例如用户语言设置 |
|
|
以下为部分逻辑运算符的说明,帮助您了解高级条件配置的运算规则。说明中的 A 指待检测的请求内容,B 是您配置规则时自定义的匹配内容。
逻辑符 | 匹配内容要求 | 说明 | 示例 |
---|---|---|---|
包含子串/不包含子串 | 单个字符串 | A 包含子串 B,指 A 作为字符串,存在一个子串与 B 相等。 |
|
A 不包含子串 B,指 A 作为字符串,不存在任何子串与 B 相等。 |
| ||
包含前缀/不包含前缀 | 单个字符串 | A 包含前缀 B,指 A 作为字符串,存在以第一个字符为起始的子串与 B 相等。 |
|
A 不包含前缀 B,指 A 作为字符串,不存在以第一个字符为起始的子串与 B 相等。 |
| ||
包含后缀/不包含后缀 | 单个字符串 | A 包含后缀 B,指 A 作为字符串,存在以最后一个字符为结尾的子串与 B 相等。 |
|
A 包含后缀 B,指 A 作为字符串,不存在以最后一个字符为结尾的子串与 B 相等。 |
| ||
包含所有匹配集合/不包含所有匹配集合 | 单个或多个字符串,多个字符串之间使用半角逗号(,)分隔。 | A 包含所有匹配集合 B,指 A、B 作为集合,B 中的每一个元素都能在 A 中找到。 |
|
A 不包含所有匹配集合 B,指 A、B 作为集合,B 中存在部分元素与 A 中的所有元素都不相等。 |
| ||
属于匹配集合/不属于匹配集合 | 单个或多个字符串,多个字符串之间使用半角逗号(,)分隔。 | A 属于匹配集合 B, 即 B 包含 A,A 中的所有元素都能在 B 中找到。 |
|
A 不属于匹配集合 B, 即 B 不包含 A,A 中存在部分元素不能在 B 中找到。 |
| ||
正则 | 正则表达式 说明 暂不支持使用回溯引用、捕获、断言等语法。 | A 满足正则表达式 B。 | 如果希望检查请求内容中是否包含关键字符串,例如希望检查请求内容中是否包含关键字符串
|