최신 업데이트:2026-02-05 11:02:10
Reading time: About 12 minutes
This page is a complete reference for the Match Conditions field used across all security policies.
Match conditions are used to precisely define the scope of a rule. Multiple conditions can be combined using the following logic:
| Operator | Description | Example |
|---|---|---|
| Equals | Exact match of the specified path | /login |
| Contains | The path contains the specified string | /api |
| Starts with | Prefix match of the path | /admin/ |
| Ends with | Suffix match of the path | .php |
| Regex Match | Match the path using a regular expression | ^/api/v[0-9]+/ |
| Not Equals | Exclude the specified path | Any path other than /health |
Performance tip: Regex matching consumes more computing resources than prefix or contains matching. Use prefix matching unless regex is necessary.
Supported methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
| Format | Example |
|---|---|
| Single IP | 1.2.3.4 |
| CIDR Range | 1.2.3.0/24 |
| IP Range | 1.2.3.1-1.2.3.100 |
Note: If the request is forwarded through a proxy or load balancer, the system uses the first IP in the
X-Forwarded-Forheader as the client IP. Make sure your origin server is properly configured to pass this header.
| Operator | Description |
|---|---|
| Exists | The request contains the specified header (any value) |
| Equals | The header value matches exactly |
| Contains | The header value contains the specified string |
| Regex Match | Match the header value using a regular expression |
| Not Exists | The request does not contain the specified header |
Behaves the same as the HTTP Header field, but is a shortcut specifically for the User-Agent header.
| Operator | Example |
|---|---|
| Contains | Googlebot |
| Equals | Mozilla/5.0 ... |
| Regex Match | ^python-requests/ |
| Is Empty | — |
| Operator | Description |
|---|---|
| Cookie Name Exists | The request carries a cookie with the specified name |
| Cookie Value Equals | The value of the specified cookie matches exactly |
| Cookie Value Contains | The value of the specified cookie contains a specific string |
Behaves the same as the HTTP Header field, but is a shortcut for the Referer header. Supports operators such as Equals, Contains, and Is Empty.
Matches parameters in the URL query string:
keywordSELECTUse when: A WAF rule generates false positives for legitimate requests with specific query parameters. Use query string conditions to precisely define the exception scope.
The difference between URI and the Request Path: URI includes query parameters, while the path does not.
| Example | Path | URI |
|---|---|---|
https://example.com/search?q=test&page=1 |
/search |
/search?q=test&page=1 |
Supported operators: Equals, Not Equals, Contains, Does Not Contain, Starts with, Ends with, Wildcard Match, Wildcard Not Match, Regex Match, Regex Not Match
Case sensitivity: The Equals and Not Equals operators are case-sensitive; Contains, Starts with, Ends with, Wildcard, and Regex operators are case-insensitive.
Determines the request source region based on the IP geolocation database. Used for IP/Geo firewall policies.
Supported operators: Equals, Not Equals
Matches or excludes specific HTTP response status codes. Only response-phase status codes are evaluated.
Supported operators: Equals, Not Equals
Use when: In rate limiting, you can set limits based on specific error response codes (e.g., 404, 5xx). In custom rules, you can trigger actions based on the response status code.
Matches or excludes requests belonging to specific client groups. Client groups are automatically classified by the platform based on request characteristics.
Supported operators: Equals, Not Equals
Matches requests based on the Autonomous System Number of the source IP. Useful for bulk actions targeting IP segments of specific ISPs, cloud providers, or data centers.
Supported operators: Equals, Not Equals
Typical use cases: Blocking IP segments from specific cloud service providers (e.g., AWS, Alibaba Cloud, etc.), or allowing traffic from a specific enterprise leased line ASN.
| Field | Description | Typical Use Case |
|---|---|---|
| JA3 Fingerprint | TLS handshake fingerprint used to identify specific TLS clients | Identifying attackers using specific tools |
| Request Body | Matches the content of POST request bodies | Identifying specific malicious payloads |
| Response Status Code | Triggers rules based on the server response code | Counting specific error responses in rate limiting |