您在設置白名單規則、自定義規則或Bot管理規則時,需要在規則中配置匹配條件,定義要匹配的請求特征。本文介紹了規則匹配條件支持使用的字段及其釋義。
什么是匹配條件
匹配條件指需要Web 應用防火墻 WAF(Web Application Firewall)檢測的請求特征。您在設置白名單規則、自定義規則或開通和配置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。 對應匹配內容以 |
|
IP | 請求的來源IP,即發起請求的客戶端的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中問號(?)后面的部分。例如, |
|
Server-Port | 服務器端口。 |
|
File Extension | 被請求文件的擴展名,例如,.png、.php。 |
|
Filename | 請求路徑末尾的文件名。例如,在 |
|
Host | 被請求的域名。 |
|
Cookie Name | Cookie的鍵名稱。例如,在 |
|
Body Parameter | 請求Body中的參數名稱。例如,請求Body中包含以下JSON字符串 重要 使用該匹配字段的自定義規則為高級規則。高級規則與基礎規則的計費標準不同,具體信息,請參見計費項。 |
|