← Cloudflare Firewall Rules / firewall / api / cf-firewall-rules
Объект JSON
Пример ответа JSON для правила брандмауэра
JSON-ответ для Firewall Rules API имеет такую структуру:
{
"id": "772bf1026a72c400ea576db1ffa16407",
"filter": {
"id": "6f58318e7fa2477a23112e8118c66f61",
"expression": "http.request.uri.path ~ \"^.*/wp-login.php$\" or http.request.uri.path ~ \"^.*/xmlrpc.php$\"",
"paused": false,
"description": "WordPress login paths",
"ref": ""
},
"action": "challenge",
"priority": 1000,
"paused": false,
"description": "Protect blog login page",
"ref": ""
}В этой таблице приведена сводка свойств объекта:
| Название | Описание | Ограничения |
|---|---|---|
idString | Идентификатор UUIDv4, сгенерированный Cloudflare. | Уникальное значение, доступно только для чтения Длина: 32 символа |
filterObject | A Объект Cloudflare Filter содержащее выражение для оценки этого правила. | |
actionString | Действие, которое выполняется, если запрос соответствует выражению фильтра для этого правила. | См. Действия правил брандмауэра чтобы ознакомиться со списком поддерживаемых значений. |
priorityNumber | Определяет порядок обработки правила относительно других правил. Чем меньше значение, тем выше приоритет. Правила без указанного значения обрабатываются последними. Рекомендации см. в Как избежать конфликтов приоритетов. | Только чтение Максимальная длина: 32 |
pausedBoolean | Возвращает | По умолчанию: |
descriptionString | Информативное краткое описание правила. | Максимальная длина: 500 символов |
refString | Короткая строка для маркировки правил. | Максимальная длина: 50 символов |
Как избежать конфликтов приоритетов
Приоритет играет ключевую роль при настройке правил firewall. С помощью Cloudflare Filters можно создать конфликтующие правила, например:
- Разрешите запросы из диапазона IP-адресов офиса и
- Блокируйте запросы с определенным user agent.
Запросы из диапазона IP-адресов офиса с блокируемым user agent соответствовали бы обоим правилам, но запрос нельзя одновременно разрешить и заблокировать. Чтобы решить эту проблему, правила firewall применяются в строгом порядке, который зависит от действия и приоритета.
Cloudflare располагает правила по убыванию приоритета, поэтому правило с приоритетом 1 идет первым, а правила без приоритета располагаются последними. Для правил с одинаковым приоритетом Cloudflare упорядочивает их по действию в соответствии с порядок приоритета. В примере выше, если приоритет не задан, правило allow request from the office IP range будет применяться, потому что allow действие имеет более высокий приоритет, чем блокировать.
Чтобы снизить риск непредвиденного поведения, рекомендуется явно указывать нужный приоритет для потенциально конфликтующих правил.