您在設定白名單規則或自訂規則時,需要在規則中配置匹配條件,定義要匹配的請求特徵。本文介紹了規則匹配條件支援使用的欄位及其釋義。
什麼是匹配條件
匹配條件指需要邊緣WAF檢測的請求特徵。您在設定自訂防護策略、白名單防護策略、IP黑名單防護策略時,通過定義匹配條件,指定要檢測的請求特徵。如果某個請求滿足規則中設定的匹配條件,則該請求命中對應規則;WAF會依據規則中設定的規則動作,對請求執行相應處置(例如,攔截、JS驗證、觀察等)。
支援的匹配欄位
下表描述了匹配條件中支援使用的匹配欄位。
匹配欄位 | 適用的邏輯符 | 欄位描述 |
URI |
| 請求的統一資源識別項URI(Uniform Resource Identifier),表示被請求的資源的路徑。對應匹配內容以 |
IP |
| 請求的來源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中”?”後面的部分。例如, |
Host |
| 被請求的網域名稱。 |
CookieName |
| Cookie的鍵名稱。例如,在 |
BodyParameter |
| 請求Body中的參數名稱。例如,請求Body中包含以下JSON字串 |
Filename |
| 請求路徑末尾的檔案名稱。例如,在 |
File Extension |
| 被請求檔案的副檔名,例如: |
邏輯符釋義
邏輯符 | 說明 |
屬於、不屬於 | 匹配欄位屬於、不屬於匹配內容。 |
包含、不包含 | 匹配欄位包含、不包含匹配內容。 |
在列表中、不在列表中 | 匹配欄位在、不在列表中匹配內容。 |
包含多值之一、不包含任一值 | 匹配欄位包含匹配內容其中之一、匹配欄位不包含任意一個匹配內容。 |
等於、不等於 | 匹配欄位等於、不等於匹配內容。 |
等於多值之一、不等於任一值 | 匹配欄位等於匹配內容其中之一、匹配欄位不等於任意一個匹配內容。 |
長度等於、長度大於、長度小於 | 匹配欄位的長度等於、大於、小於匹配內容。 |
存在、不存在 | 匹配欄位存在、匹配欄位不存在。 |
值小於、值等於、值大於 | 匹配欄位的值小於、等於、大於匹配內容。 |
首碼匹配、尾碼匹配 | 匹配欄位的首碼、尾碼包含匹配內容。 |
正則匹配、正則不匹配 | 匹配欄位Regex、不匹配欄位Regex |
內容為空白 | 匹配欄位內容為空白。 |
配置樣本
樣本1:匹配欄位為URI、邏輯符為包含、匹配內容為
/login.php
,表示當被請求的路徑包含/login.php
時,則請求命中該規則。樣本2:匹配欄位為IP、邏輯符為屬於、匹配內容為192.168.0.1,表示當發起串連的用戶端IP為192.168.0.1時,則請求命中該規則。