Advanced rule objects and attributes
The following table contains all available objects and attributes you can use in your advanced rules.
| Object | Attribute | Arguments | Type | Description |
|---|---|---|---|---|
| client_data | Container | |||
| fingerprint | Dict | Client fingerprint object | ||
| response | Container | Container for response context | ||
| headers | Dict | A dictionary of the response headers | ||
| status | Var | Status code from the origin (integer) | ||
| request | Container | Container for request context | ||
| rate_limit | Function | Returns true if the rate limit is exceeded | ||
| content_type | String | A string with a maximum of 30 characters (optional) | ||
| interval | Integer | An integer between 1 and +inf | ||
| ip_list | List | A list of 0-10 items: a string representing an UP address (IPv4 or IPv6) | ||
| method_list | List | A list of 0-9 items of: an HTTP method | ||
| requests | Integer | An integer between 20 and +inf | ||
| scope | Choice | One of the following values: IP or cluster | ||
| status_list | List | A list of 0-20 items: an integer between 100 and 999 | ||
| url | URL | A valid URL | ||
| ip_in_range | Function | Returns true if the client IP is contained within the given range | ||
| from_ip | IP | A string representing an IP address (IPv4 or IPv6) | ||
| to_ip | IP | A string representing an IP address (IPv4 or IPv6) | ||
| headers | Dict | A dictionary of the request headers | ||
| ip | Var | A string representing the client IP | ||
| is_ajax | Function | Returns true if the request type is AJAX | ||
| is_api | Function | Returns true if the request is an API call | ||
| is_static | Function | Returns true if the request type is STATIC | ||
| method | Var | HTTP method (uppercase) | ||
| origin_ip | Var | A string representing the client origin IP | ||
| path | Var | Path of the URL | ||
| query_params | Var | Query params | ||
| upload_file_content_type | Var | Content type of the uploaded file (e.g., image/PNG) | ||
| upload_file_extension | Var | File extension of the uploaded file (e.g., PNG) | ||
| uri | Var | A full URI string | ||
| url | Var | A full URL string | ||
| all | Function | Returns true if all the given tags exist | ||
| any | Function | Returns true if one or more of the given tags exist | ||
| exists | Function | Returns true if the given tag exists | ||
| tag | String | A string with a maximum of 30 characters | ||
| tag_list | List | A list of 1-10 items of a string with max 30 characters | ||
| user_agent | Container | The User-agent header segments in lowercase | ||
| client | Var | Client name. For example, Chrome, Firefox. | ||
| client_type | Var | Client type. For example, major, lib. | ||
| client_version | Var | Client version. For example, 47.1.23. | ||
| client_version_float | Var | Client version, major.minor part. For example, 47.1. | ||
| cpu | Var | CPU brand. For example, Intel. | ||
| device | Var | Device brand. For example, iPhone, PlayStation. | ||
| device_type | Var | Device type. For example, mobile, console. | ||
| engine | Var | Engine type. For example, Gecko, AppleWebKit. | ||
| os | Var | Client's OS. For example, Linux, Windows 8. | ||
| whois | Container | Container for WHOIS data of the client IP | ||
| country | Var | Country code (uppercase) | ||
| org | Var | Organization name | ||
| owner_type | Var | Owner type |