边缘安全
  • 概述
  • DDoS 防护
    • DDoS 防护概述
    • 使用独立 DDoS 防护
    • 配置独立 DDoS 防护策略
      • 调整 DDoS 防护等级
      • 独立 DDoS 攻击流量告警
      • 配置 IP 黑白名单
      • 配置区域封禁
      • 配置端口过滤
      • 配置特征过滤
      • 配置协议封禁
      • 配置连接类攻击防护
      • 相关参考
        • 处置方式
        • 相关概念介绍
  • Web 防护
    • 概述
    • 托管规则
    • CC 攻击防护
    • 自定义规则
    • 自定义速率限制规则
    • 防护例外规则
    • 托管定制规则
    • Web 安全监控告警
    • 相关参考
      • Web 防护请求处理顺序
      • 处置方式
      • 匹配条件
  • Bot 管理
    • 概述
    • Bot 智能分析
    • Bot 基础特征管理
    • 客户端画像分析
    • 主动特征识别
    • 自定义 Bot 规则
    • Bot 管理例外规则
    • 相关参考
      • 处置方式
  • 策略模板
  • IP 和网段分组
  • 源站防护
  • 自定义响应页面
  • 告警通知推送
  • SSL/TLS
    • 概述
    • 部署/更新 SSL 托管证书至 EdgeOne 域名
    • 使用免费证书部署至 EdgeOne 域名
    • HTTPS 配置
      • 强制 HTTPS 访问
      • 启用 HSTS
      • SSL/TLS 安全配置
        • 配置 SSL/TLS 安全等级
        • TLS 版本及密码套件说明
      • 开启 OCSP 装订

匹配条件

概述

Web 防护功能通过匹配请求的不同条件来实现访问管控。以下详细介绍了各种匹配条件选项、匹配条件说明以及相关配置方式和限制。

使用匹配条件

您可以使用规则的匹配条件指定规则的生效范围,控制防护例外规则、自定义规则、速率限制、自定义 Bot 规则的生效范围。
说明:
当配置了多个匹配条件时,规则仅在全部匹配条件都满足时生效。

匹配方式

当匹配字段和匹配内容满足匹配方式要求时,匹配条件成立。
说明:
请求头部的匹配字段(例如:Referer 头部、自定义头部等)使用等于、不等于、包含、不包含、通配符匹配、通配符不匹配、正则匹配匹配方式时,仅当该头部存在且不为空时才能满足匹配条件。
匹配方式
匹配方式说明
等于(在列表中)
匹配内容列表中,包含匹配字段的完整字符串,不区分大小写。
匹配内容可配置多个匹配字段,当匹配字段匹配任一值时,即满足匹配条件。
不等于(不在列表中)
匹配内容列表中,不包含匹配字段的完整字符串,不区分大小写。
匹配内容可配置多个值,当所有值均不匹配匹配字段时,即满足匹配条件。
包含(关键字)
匹配字段字符串中,包含了匹配内容列表中的任一的完整字符串内容,不区分大小写。
匹配内容可配置多个值,当任一值不在匹配字段中出现时,即满足匹配条件。
不包含(关键字)
匹配字段字符串中,不包含匹配内容列表中的任一的完整字符串内容,不区分大小写。
匹配内容可配置多个值,当所有值均不在匹配字段中出现时,即满足匹配条件。
通配符匹配
匹配内容列表中,包含可通配匹配字段的字符串,不区分大小写。支持通配的字符有:
星号*:匹配零个或多个字符。
问号?:匹配一个字符。
匹配内容可配置多个通配符表达式,当匹配字段匹配任一通配符表达式时,即满足匹配条件。
匹配内容中未包含通配符时,该匹配字段按完整匹配方式进行判断。
通配符不匹配
匹配内容列表中,不包含可通配匹配字段的字符串,不区分大小写。支持通配的字符有:
星号*:匹配零个或多个字符。
问号?:匹配一个字符。
匹配内容可配置多个通配符表达式,当匹配字段与所有通配符表达式都不匹配时,即满足匹配条件。
匹配内容中未包含通配符时,该匹配字段按完整匹配方式进行判断。
长度大于
匹配字段存在,且数据长度(按字符串包含字符数计)大于指定长度。
长度小于
匹配字段存在,且数据长度(按字符串包含字符数计)小于指定长度。
内容为空
匹配字段存在,且为空字符串
不存在
匹配字段不存在。
正则匹配
匹配字段数据可满足匹配内容中的正则表达式。

匹配条件选项及说明

说明:
1. 支持配置的匹配条件,根据规则类型和您订阅的 EdgeOne 套餐有些区别。具体支持情况请参考套餐选型对比。
2. 单条规则中所有匹配内容中,匹配项目数量总和不超过 128 个(包括同时匹配多个值的匹配条件)。
匹配条件选项
匹配条件说明
请求客户端 IP
匹配请求的来源 IP 地址。支持基于地域、ASN、IP 和 CIDR 网段进行匹配。
使用匹配不匹配逻辑符号选项时,可匹配客户端 IP 、CIDR 网段和 IP 分组。
单个匹配条件最多可配置8个 IP 分组。
使用地域包含地域不包含逻辑符号选项时,可匹配客户端 IP 的归属地域。
使用 ASN 归属ASN 归属不等于逻辑符号选项时,可匹配客户端 IP 所归属的 BGP 自治系统编号(ASN)。
请求客户端 IP(优先匹配 XFF 头部)
当请求携带合法 XFF(X-Forwarded-For)头部时,匹配请求 XFF 头部第一个 IP;否则,匹配请求来源 IP 地址。
使用匹配不匹配逻辑符号选项时,可匹配客户端 IP 、CIDR 网段和 IP 分组。
单个匹配条件最多可配置 8 个 IP 分组。
使用地域包含地域不包含逻辑符号选项时,可匹配客户端 IP 的归属地域。
使用 ASN 归属ASN 归属不等于逻辑符号选项时,可匹配客户端 IP 所归属的 BGP 自治系统编号(ASN)。
自定义请求头部
匹配请求的指定头部,提供额外参数选项匹配特定名称的头部值。
忽略大小写。
支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求 URL
匹配请求的 URL。例如:/example.html?region=cn 。
忽略大小写。
不包含 Hostname
包含 URL 查询参数
支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求来源(Referer 头部)
匹配请求的 Referer 头部。
忽略大小写。
支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求内容类型(Accept 头部)
匹配请求的 Accept 头部。
忽略大小写。
支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求路径(Path)
匹配请求 URL 的路径部分。例如:/example.html 或者 /api/v2/login 。
不包含 Hostname。
不包含查询参数。
忽略大小写。
请求方式(Method)
匹配请求的方法。
忽略大小写。
支持多项选择:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、CONNECT。
请求 Cookie
匹配指定请求 Cookie 头部参数值。需指定 Cookie 参数名称。
忽略大小写。
支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
XFF 扩展头部
匹配请求的 XFF(X-Forwarded-For)头部。
忽略大小写。
支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
网络层协议
匹配请求使用的 IP 协议类型。
支持多项选择:IPv4、IPv6。
应用层协议
匹配请求使用的应用层协议。
支持多项选择:HTTP、HTTPS。
响应状态码
匹配响应的 HTTP 状态码。
仅支持速率限制,选择基于响应统计时支持配置。
最多支持同时匹配20个状态码。
请求正文
匹配请求的正文。
仅支持匹配请求正文的前 8KB 数据。