全部產品
Search
文件中心

Web Application Firewall:匹配條件說明

更新時間:Jul 26, 2024

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

什麼是匹配條件

匹配條件指需要Web Application Firewall (WAF)檢測的請求特徵。您在設定白名單規則自訂規則開通和配置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

對應匹配內容以/開頭,不包含網域名稱,例如,/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都是請求參數。

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

Server-Port

伺服器連接埠。

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

File Extension

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

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

    重要

    使用該邏輯符的自訂規則為進階規則。進階規則與基礎規則的計費標準不同,具體資訊,請參見計費項目

Filename

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

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

    重要

    使用該邏輯符的自訂規則為進階規則。進階規則與基礎規則的計費標準不同,具體資訊,請參見計費項目

Host

被請求的網域名稱。

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配、正則不匹配

    重要

    使用該邏輯符的自訂規則為進階規則。進階規則與基礎規則的計費標準不同,具體資訊,請參見計費項目

Cookie Name

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

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配

    重要

    使用該邏輯符的自訂規則為進階規則。進階規則與基礎規則的計費標準不同,具體資訊,請參見計費項目

Body Parameter

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

重要

使用該匹配欄位的自訂規則為進階規則。進階規則與基礎規則的計費標準不同,具體資訊,請參見計費項目

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

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

  • 存在、不存在

  • 內容為空白

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

  • 首碼匹配、尾碼匹配

  • 正則匹配

    重要

    使用該邏輯符的自訂規則為進階規則。進階規則與基礎規則的計費標準不同,具體資訊,請參見計費項目