全部產品
Search
文件中心

:匹配條件說明

更新時間:Oct 29, 2024

您在設定白名單規則或自訂規則時,需要在規則中配置匹配條件,定義要匹配的請求特徵。本文介紹了規則匹配條件支援使用的欄位及其釋義。

什麼是匹配條件

匹配條件指需要邊緣WAF檢測的請求特徵。您在設定自訂防護策略白名單防護策略IP黑名單防護策略時,通過定義匹配條件,指定要檢測的請求特徵。如果某個請求滿足規則中設定的匹配條件,則該請求命中對應規則;WAF會依據規則中設定的規則動作,對請求執行相應處置(例如,攔截、JS驗證、觀察等)。

支援的匹配欄位

下表描述了匹配條件中支援使用的匹配欄位。

匹配欄位

適用的邏輯符

欄位描述

URI

  • 等於、不等於

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

  • 包含、不包含

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

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

請求的統一資源識別項URI(Uniform Resource Identifier),表示被請求的資源的路徑。對應匹配內容以/開頭,不包含網域名稱,例如:/login.php

IP

  • 屬於、不屬於

  • 在列表中、不在列表中

請求的來源IP,即發起請求的用戶端的IP地址。

匹配內容填寫要求如下:

  • 支援使用IPv4地址(例如:10.10.10.10),支援使用IP網段格式(例如:10.10.10.10/16)。

  • 用戶端建連IP對應DCDN訪問日誌中的remote_ip,詳見即時日誌採集欄位說明

  • 最多可以填寫50個值,多個值之間使用英文逗號(,)分隔。

  • 可引用配置WAF IP分組中配置的IP分組。

Referer

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 內容為空白

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

訪問請求的來源網址,即該訪問請求是從哪個頁面跳轉產生的。

User-Agent

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 內容為空白

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

發起訪問請求的用戶端的瀏覽器標識、渲染引擎標識和版本資訊等瀏覽器相關資訊。

Query String

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

請求中的查詢字串,具體指URL中問號(?)後面的部分。

Cookie

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 長度等於、長度大於、長度小於

  • 正則匹配、正則不匹配

訪問請求中的Cookie資訊。

Content-Type

  • 等於、不等於

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

  • 包含、不包含

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

  • 長度等於、長度大於、長度小於

  • 正則匹配、正則不匹配

請求指定的響應HTTP內容類型,即多用途互連網郵件擴充類型MIME(Multipurpose Internet Mail Extensions)類型資訊。

Content-Length

值小於、等於、值大於

訪問請求的響應內容所包含的位元組數。取值範圍:0~8192。

X-Forwarded-For

  • 等於、不等於

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

  • 包含、不包含

  • 不存在

  • 長度等於、長度大於、長度小於

訪問請求的用戶端真實IP。X-Forwarded-For(XFF)用來識別通過HTTP代理或負載平衡方式轉寄的訪問請求的用戶端最原始的IP地址的HTTP要求標頭欄位,只有通過HTTP代理或者負載平衡伺服器轉寄的訪問請求才會包含該項。

Body

  • 等於、不等於

  • 包含、不包含

  • 不存在

  • 首碼匹配

  • 尾碼匹配

  • 正則匹配

訪問請求的請求內容資訊。Body體超過8 KB的請求將不再攔截。

Http-Method

  • 等於、不等於

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

請求的方法,包括GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE、PATCH。

Header

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 長度等於、長度大於、長度小於

  • 正則匹配、正則不匹配

訪問請求的頭部資訊。支援自訂的頭部欄位。

URI Path

  • 等於、不等於

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

  • 包含、不包含

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

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

訪問請求的URI路徑。

Query String Parameter

  • 等於、不等於

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

  • 包含、不包含

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

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配

訪問請求的URL地址中的參數部分,通常指URL中”?”後面的部分。例如,www.abc.com/index.html?action=login中的action=login就是參數部分。

Host

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

被請求的網域名稱。

CookieName

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配

Cookie的鍵名稱。例如,在acw_tc:111這個Cookie中,awc_tc是Cookie的鍵名稱。

BodyParameter

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配

請求Body中的參數名稱。例如,請求Body中包含以下JSON字串a=1&b=2,那麼ab就是參數名稱。

Filename

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 內容為空白

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

請求路徑末尾的檔案名稱。例如,在/abc/index.php中,index.php表示檔案名稱。

File Extension

  • 等於、不等於

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

  • 包含、不包含

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

  • 存在、不存在

  • 內容為空白

  • 長度等於、長度大於、長度小於

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

被請求檔案的副檔名,例如:.png.php

邏輯符釋義

邏輯符

說明

屬於、不屬於

匹配欄位屬於、不屬於匹配內容。

包含、不包含

匹配欄位包含、不包含匹配內容。

在列表中、不在列表中

匹配欄位在、不在列表中匹配內容。

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

匹配欄位包含匹配內容其中之一、匹配欄位不包含任意一個匹配內容。

等於、不等於

匹配欄位等於、不等於匹配內容。

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

匹配欄位等於匹配內容其中之一、匹配欄位不等於任意一個匹配內容。

長度等於、長度大於、長度小於

匹配欄位的長度等於、大於、小於匹配內容。

存在、不存在

匹配欄位存在、匹配欄位不存在。

值小於、值等於、值大於

匹配欄位的值小於、等於、大於匹配內容。

首碼匹配、尾碼匹配

匹配欄位的首碼、尾碼包含匹配內容。

正則匹配、正則不匹配

匹配欄位Regex、不匹配欄位Regex

內容為空白

匹配欄位內容為空白。

配置樣本

  • 樣本1:匹配欄位為URI、邏輯符為包含、匹配內容/login.php,表示當被請求的路徑包含/login.php時,則請求命中該規則。

  • 樣本2:匹配欄位為IP、邏輯符為屬於、匹配內容為192.168.0.1,表示當發起串連的用戶端IP為192.168.0.1時,則請求命中該規則。