INTEGRITY Документация

Выражения

Rules language поддерживает два вида выражений: простые и составные.

Простые выражения

Простые выражения сравнить значение из HTTP-запроса со значением, заданным в выражении. Например, следующее простое выражение соответствует запросам Microsoft Exchange Autodiscover:

http.request.uri.path matches "/autodiscover\.(xml|src)$"

Простые выражения имеют следующий синтаксис:

<field> <comparison_operator> <value>

Где:

Составные выражения

Составные выражения используйте логические операторы например, and чтобы объединить два или более выражений в одно.

Например, в этом выражении используется and оператор, чтобы выбрать запросы к www.example.com которые используют порты, отличные от 80 и 443:

http.host eq "www.example.com" and not cf.edge.server_port in {80 443}

Составные выражения имеют следующий общий синтаксис:

<expression> <logical_operator> <expression>

Составные выражения позволяют создавать сложные, точно нацеленные правила.

Максимальная длина выражения правила

Максимальная длина выражения правила составляет 4096 символов.

Это ограничение действует независимо от того, используете ли вы визуальный Expression Builder чтобы задать выражение, либо напишите его вручную в Expression Editor.

Максимальное количество регулярных выражений на одно правило

Каждое правило может содержать не более 64 регулярных выражений в своём выражении. Это ограничение действует для всех типов правил, использующих Язык правил.

Правила, превышающие этот лимит, невозможно создать или обновить. Уже существующие правила, превышающие лимит, продолжают работать, но их нельзя изменить, пока выражение не будет упрощено.

Дополнительные функции

В выражениях вы также можете использовать следующие возможности языка Rules: