全部产品
Search
文档中心

Web 应用防火墙:匹配条件字段说明

更新时间:Feb 06, 2024

配置网站白名单或自定义防护规则时,可通过设置匹配条件,并针对符合匹配条件规则的访问请求定义相应的匹配动作,实现防护效果。本文介绍匹配条件中支持使用的字段及其释义。

什么是匹配条件、匹配动作

匹配条件

  • 匹配条件包含匹配字段、逻辑符和匹配内容。仅部分匹配字段支持正则表达式描述,更多信息,请参见匹配条件支持的匹配字段

  • 每一条防护规则中最多允许设置5个匹配条件组合,且各个条件间是“与”的逻辑关系,即访问请求必须同时满足所有匹配条件才算命中该规则,才能执行相应的匹配动作。

匹配动作

防护白名单中的匹配动作表示为不检测模块,自定义防护规则的匹配动作表示为处置动作,更多信息,请参见以下文档:

匹配条件支持的匹配字段

匹配字段

支持的版本

适用的逻辑符

字段描述

URL

高级版、企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 长度等于、长度大于、长度小于

  • 前缀匹配、后缀匹配

  • 正则匹配、正则不匹配

    重要

    高级版不支持正则匹配逻辑。

访问请求的URL地址。

IP

高级版、企业版、旗舰版、独享版

属于、不属于

访问请求的来源IP,支持填写单个IP或者CIDR格式的IP网段(例如47.100.XX.XX/24)。

说明

单个防护规则最多可填写50个IP或IP网段。例如,某条防护规则中包含两条匹配字段为IP的匹配条件,则两条匹配条件中的IP或IP网段总数不能超过50个。多个IP或IP网段之间使用英文逗号(,)分隔。

Referer

高级版、企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 存在、不存在

  • 内容为空

  • 长度等于、长度大于、长度小于

  • 前缀匹配、后缀匹配

  • 正则匹配、正则不匹配

    重要

    高级版不支持正则匹配逻辑。

访问请求的来源网址,即该访问请求是从哪个页面跳转产生的。

User-Agent

高级版、企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 存在、不存在

  • 内容为空

  • 长度等于、长度大于、长度小于

  • 前缀匹配、后缀匹配

  • 正则匹配、正则不匹配

发起访问请求的客户端的浏览器标识、渲染引擎标识和版本信息等浏览器相关信息。

Params

高级版、企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 存在、不存在

  • 长度等于、长度大于、长度小于

  • 前缀匹配、后缀匹配

  • 正则匹配、正则不匹配

访问请求的URL地址中的参数部分,通常指URL中”?”后面的部分。例如,www.example.com/index.html?action=login中的action=login就是参数部分。

Query-Arg

高级版、企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 存在、不存在

  • 内容为空

  • 长度等于、长度大于、长度小于

  • 前缀匹配、后缀匹配

  • 正则匹配

访问请求的URL地址中的参数部分,通常指URL中”?”后面的部分。例如www.example.com/request_path?arg1=a&arg2=b中,query-arg字段为arg1或arg2。

说明

访问请求里query-arg参数包含多个字段时,自定义防护策略中如果设置的是query-arg包含arg,WAF会命中取值为arg1和arg2的两条访问请求。如果您需要精确匹配访问请求,建议策略设置为query-arg包含arg1query-arg包含arg2

URLPath

高级版、企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 长度等于、长度大于、长度小于

  • 前缀匹配、后缀匹配

  • 正则匹配、正则不匹配

访问请求的URL路径。

Cookie

企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 存在、不存在

  • 长度等于、长度大于、长度小于

  • 正则匹配、正则不匹配

访问请求中的Cookie信息。

Content-Type

企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 长度等于、长度大于、长度小于

  • 正则匹配、正则不匹配

访问请求指定的响应HTTP内容类型,即MIME类型信息。

Content-Length

企业版、旗舰版、独享版

值小于、等于、值大于

访问请求的响应内容所包含的字节数。

X-Forwarded-For

企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含

  • 不存在

  • 长度等于、长度大于、长度小于

访问请求的客户端真实IP。X-Forwarded-For(XFF)用来识别通过HTTP代理或负载均衡方式转发的访问请求的客户端最原始的IP地址的HTTP请求头字段,只有通过HTTP代理或者负载均衡服务器转发的访问请求才会包含该项。

Post-Body

企业版、旗舰版、独享版

  • 等于、不等于

  • 包含、不包含

  • 不存在

  • 前缀匹配、后缀匹配

  • 正则匹配

访问请求的请求内容信息。

Server-Port

企业版、旗舰版、独享版

等于、不等于、等于多值之一、不等于任一值

源站服务器的端口号。例如www.example.com:9999,中,server_port为9999。

Http-Method

企业版、旗舰版、独享版

等于、不等于、等于多值之一、不等于任一值

访问请求的方法,例如GET、POST、DELETE、PUT、OPTIONS等。

Header

企业版、旗舰版、独享版

  • 等于、不等于、等于多值之一、不等于任一值

  • 包含、不包含、包含多值之一、不包含任一值

  • 存在、不存在

  • 长度等于、长度大于、长度小于

  • 正则匹配、正则不匹配

访问请求的头部信息,用于自定义HTTP头部字段。