您在设置白名单规则、自定义规则或Bot管理规则时,需要在规则中配置匹配条件,定义要匹配的请求特征。本文介绍了规则匹配条件支持使用的字段及其释义。
什么是匹配条件
匹配条件指需要Web 应用防火墙 WAF(Web Application Firewall)检测的请求特征。您在设置白名单规则、自定义规则或开通和配置Bot管理时,通过定义匹配条件,指定要检测的请求特征。如果某个请求满足规则中设置的匹配条件,则该请求命中对应规则;WAF会依据规则中设置的规则动作,对请求执行相应处置(例如,放行、拦截、校验等)。
匹配条件由匹配字段、逻辑符和匹配内容组成。配置示例如下:
示例1:匹配字段为URI、逻辑符为包含、匹配内容为
/login.php
,表示当被请求的路径包含/login.php
时,则请求命中该规则。示例2:匹配字段为IP、逻辑符为属于、匹配内容为
192.XX.XX.1
,表示当发起连接的客户端IP为192.XX.XX.1
时,则请求命中该规则。
使用URL编码、HTML编码、Unicode编码等常见编码的请求内容,会在解码后再按照匹配内容做匹配。
支持的匹配字段
下表描述了匹配条件中支持使用的匹配字段。
匹配字段 | 说明 | 支持的逻辑符 |
URI | 请求的统一资源标识符URI(Uniform Resource Identifier),表示被请求的资源的路径。一般来说,URI=URI Path + Query String。 对应匹配内容以 |
|
IP | 请求的来源IP,即发起请求的客户端的IP地址。 匹配内容填写要求如下:
|
说明 单个防护规则最多可填写100个IP或IP网段。例如,某条防护规则中包含两条匹配字段为IP的匹配条件,则两条匹配条件中的IP或IP网段总数不能超过100个。多个IP或IP网段之间使用英文逗号(,)分隔。 |
Referer | 请求的来源网址,即该请求从哪个页面跳转产生。 |
|
User-Agent | 发起请求的客户端的浏览器标识、渲染引擎标识和版本信息等浏览器相关信息。 |
|
Query String | 请求中的查询字符串,具体指URL中问号(?)后面的部分。 |
|
Cookie | 请求中的Cookie信息。 |
|
Content-Type | 请求指定的响应HTTP内容类型,即多用途互联网邮件扩展类型MIME(Multipurpose Internet Mail Extensions)类型信息。 |
|
Content-Length | 请求内容所包含的字节数。取值范围:0~2147483648。 |
|
X-Forwarded-For | 请求的客户端真实IP。X-Forwarded-For(XFF)用来识别通过HTTP代理或负载均衡方式转发的请求的客户端最原始的IP地址的HTTP请求头字段,只有通过HTTP代理或者负载均衡服务器转发的请求才会包含该项。 |
|
Body | 请求的内容信息。 重要 使用该匹配字段的自定义规则为高级规则。高级规则与基础规则的计费标准不同,具体信息,请参见计费项。 |
|
Http-Method | 请求的方法,包括GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE、PATCH。 |
|
Header | 请求的头部信息。支持自定义的头部字段。 |
|
URI Path | 请求的URI路径。 |
|
Query String Parameter | 请求参数的参数名。请求参数指请求的URL中问号(?)后面的部分。例如, |
|
Server-Port | 服务器端口。 |
|
File Extension | 被请求文件的扩展名,例如,.png、.php。 |
|
Filename | 请求路径末尾的文件名。例如,在 |
|
Host | 被请求的域名。 |
|
Cookie Name | Cookie的键名称。例如,在 |
|
Body Parameter | 请求Body中的参数名称。例如,请求Body中包含以下JSON字符串 重要 使用该匹配字段的自定义规则为高级规则。高级规则与基础规则的计费标准不同,具体信息,请参见计费项。 |
|