全部產品
Search
文件中心

Web Application Firewall:匹配條件說明

更新時間:Jun 23, 2026

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

什麼是匹配條件

匹配條件指需要Web Application Firewall (WAF)檢測的請求特徵。您在設定白名單規則自訂規則Bot管理時,通過定義匹配條件,指定要檢測的請求特徵。如果某個請求滿足規則中設定的匹配條件,則該請求命中對應規則;WAF會依據規則中設定的規則動作,對請求執行相應處置(例如,允許存取、攔截、校正等)。匹配條件

匹配條件匹配欄位邏輯符匹配內容組成。配置樣本如下:

匹配欄位

邏輯符

匹配內容

說明

URI Path

包含

/login.php

當請求的路徑包含/login.php時,則請求命中該規則。

IP

屬於

192.1.XX.XX

當用戶端IP為192.1.XX.XX時,則請求命中該規則。

支援的匹配欄位

下表列出了匹配條件中支援的欄位及其相關規則。

  1. 進階規則定義與計費

    • 定義:滿足以下任一條件的規則即為進階規則:

      • 匹配欄位為 Body 或 Body Parameter

      • 邏輯符為 正則匹配 或 正則不匹配

    • 隨用隨付版 WAF:進階規則與基礎規則的計費標準不同,具體單價請參見隨用隨付計費說明

    • 訂用帳戶版 WAF:僅企業版及以上版本支援進階規則,各版本功能差異請參見版本功能對比與選型

  2. 匹配機制

    • 大小寫敏感性:除特殊說明外,所有匹配欄位的匹配內容均不區分大小寫。

    • 編碼處理:對於包含 URL 編碼、HTML 編碼或 Unicode 編碼等常見編碼的請求內容,系統將自動解碼後再進行匹配。

匹配欄位

說明

支援的邏輯符

URI

請求的統一資源識別項URI(Uniform Resource Identifier),表示被請求的資源的路徑。一般來說,URI=URI Path + Query String

對應匹配內容以/開頭,不包含網域名稱,例如,/login.php

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

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

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

IP

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

匹配內容填寫要求如下:

  • 支援使用IPv4地址(例如,1.XX.XX.1)、IPv6地址(例如,2001:db8:ffff:ffff:ffff:ffff:ffff:ffff)。

  • 支援使用IP網段格式(例如,1.XX.XX.1/16)。

  • 每輸入一個IP地址,按斷行符號進行確認。

  • 最多支援設定100個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中問號(?)後面的部分。例如,www.aliyundoc.com/request_path?param1=a&param2=b中,param1param2都是請求參數。

說明

Query String Parameter的自訂Parameter大小寫敏感。

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

Server-Port

伺服器連接埠。

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

File Extension

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

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

Filename

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

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

Host

被請求的網域名稱。

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

Cookie Name

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

說明

Cookie Name的自訂Cookie-Exact大小寫敏感。

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配

Body Parameter

  • 基本規則

    • 該欄位用於指定請求體(Body)中的參數名稱,且匹配時區分大小寫。

    • 匹配內容的長度必須大於 4 個字元,否則系統將無法檢測對應流量。

  • 格式規範

    • 常規參數:直接填寫參數鍵名。例如,請求體為 a=1&b=2 時,應填寫 a 或 b

    • 嵌套 JSON:採用 父級Key.子級Key 的點分層級格式。例如,若需匹配 {"userInfo": {"userId": "12345"}} 中的值,應填寫 userInfo.userId

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配

Client-ID

用戶端(如瀏覽器或應用程式)標識,通過User Agent資訊和流量指紋等特徵來識別HTTP請求來源於哪種用戶端。

說明

BOT管理 > 高级自定义规则模組支援。

  • 包含、不包含

  • 等於、不等於

  • 等於多值之一

JA3 Fingerprint

通過將TLS握手過程中的關鍵參數(包括TLS版本、密碼套件、壓縮演算法和TLS擴充等資訊)進行MD5雜湊處理,產生一個字串用來表示用戶端的TLS配置,該字串即JA3指紋。

JA3指紋可以用於識別和區分不同類型的TLS用戶端,例如Web瀏覽器、行動裝置 App程式、惡意軟體等。

說明

BOT管理 > 高级自定义规则模組支援。

  • 等於、不等於

  • 等於多值之一

JA4 Fingerprint

JA4指紋通過引入更多的上下文資訊和演算法,例如瀏覽器的版本、作業系統等,減少了JA3指紋可能導致的重複性問題。

JA4指紋能夠更準確地鑒別出真實的使用者與偽裝者,降低誤識率。

說明

BOT管理 > 高级自定义规则模組支援。

  • 等於、不等於

  • 等於多值之一

HTTP/2 Fingerprint

根據HTTP2用戶端的原始指紋,利用MD5演算法處理後產生的HTTP2.0指紋。用來分析和識別不同的用戶端,實現更安全和高效的通訊。

說明

BOT管理 > 高级自定义规则模組支援。

  • 等於、不等於

  • 等於多值之一

IDC

基於源IP歸屬資料識別流量來源,雲端服務器成本較低,黑灰產易利用進行攻擊。

說明

BOT管理 > 高级自定义规则模組支援。

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

Web SDK

通過WebSDK採集到的探針資訊,如網頁端UMID、鍵盤/滑鼠/觸控螢幕按下次數等,識別異常流量。

說明

BOT管理 > 高级自定义规则模組支援。

  • 等於

  • 值大於、值小於

App SDK

可基於App SDK採集的探針資訊做精細化管控。

說明

BOT管理 > 高级自定义规则模組支援。

  • 包含、不包含

  • 等於、不等於

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

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

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

  • 正則匹配、正則不匹配

  • 首碼匹配、尾碼匹配

  • 存在、不存在

  • 內容為空白