Условия
Примечание
Функциональность списков адресов находится на стадии Preview.
Условия определяют, к каким HTTP-запросам применяется правило Smart Web Security. В таблице для каждого условия указаны варианты сопоставления и формат значения. Если поддерживается несколько значений, указан логический оператор.
|
Тип и виды сопоставления |
Значения и пример |
|
|
|
|
|
Формат Логический оператор: и |
|
|
Путь запроса, начало пути запроса или регулярное выражение библиотеки PIRE: |
|
|
Формат Логический оператор: и |
|
|
Значения заголовка |
|
|
Метод HTTP-запроса |
|
|
Формат Логический оператор: и |
|
|
Список имен легитимных ботов, принадлежащих различным компаниям и сервисам: |
|
|
Список ботов определенной категории: |
|
|
Является ли данный бот проверенным и одобренным: |
|
|
Значение или диапазон значений рейтинга от Рамки значений:
Логический оператор: и |
|
|
Отпечаток SSL/TLS‑соединения по методу JA3
|
Формат регулярных выражений
Регулярные выражения можно использовать в условиях, для которых доступны типы сопоставлений:
- Соответствует регулярному выражению
- Не соответствует регулярному выражению
- Соответствует списку регулярных выражений
- Не соответствует списку регулярных выражений
К таким условиям относятся: HTTP header, Request URI, Query Match, Host, HTTP method, Cookie.
Группы операторов для регулярных выражений
-
Квантификаторы. Определяют количество допустимых повторений элемента.
-
*— ноль или более вхождений любых символов,a*— ноль или более вхождений символаa,a*b— любое вхождение символаaперед символомb.Пример:
a*— пустая строка,a,aa,aaaи так далее. -
а+— одно или более вхождений символаa.Пример:
a+—a,aa,aaaи так далее. -
a?— ноль или одно вхождение символаa.Пример:
https?://— соответствуетhttp://иhttps:// -
{n}— n вхождений. Пример:a{3}—aaa. -
{n,m}— от n до m вхождений. Пример:a{3,5}—aaa,aaaa,aaaaa. -
{n,}— не менее n вхождений. Пример:a{3,}—aaa,aaaa,aaaaaи так далее.
-
-
Символы и операции.
-
.— любой одиночный символ (кроме новой строки).Пример:
a.bсоответствуетaab,acb, но неab. -
[abc]— один из символов внутри квадратных скобок.Пример:
[abc]соответствуетa,b,c. -
[^abc]— любой символ, кроме указанных в квадратных скобках.Пример:
[^abc]соответствует любому символу, кромеa,b,c. -
[a-z]— любой символ в диапазонеaдоz.Пример:
[a-z]соответствует любой строчной букве отaдоz. -
a|b— альтернатива, либоa, либоb.Пример:
example|domain— либоexample, либоdomain. -
\\w— любая буква. -
\\W— не буква (цифра, подчеркивание, знаки препинания, пробел и так далее). -
\\d— цифра и\\D— не цифра. -
\\s— пробел и\\S— не пробел.
-
Примечание
Чтобы использовать символ не как оператор регулярного выражения или специальный символ, экранируйте его с помощью \. Например, надо экранировать символы . + * [ ] ( ) { } ^ $ ?.
Регистр в регулярных выражениях
-
Учитывать регистр. Введите регулярное выражение в нужном регистре.
Пример:
exaMpleсоответствует строкеexaMple. -
Не учитывать регистр. В начало выражения добавьте символы
(?i).Пример:
(?i)exampleсоответствует строкамexample,EXaMple,EXAMPLEи так далее.
Примеры регулярных выражений
-
User-Agent:\s*— блокировать запросы, у которых значение заголовкаUser-Agentпустое или состоит только из пробелов.В этом выражении
\s*— ноль или более пробелов. -
\\[\'\"\.\;]— блокировать запросы, содержащие\перед подозрительным символом (бэкслеш-инъекции).В этом выражении
\\— бэкслеш,[\'\"\.\;]— любой символ из скобок. -
a{100,}— блокировать запросы, содержащие длинные последовательности одинаковых символов, что может быть признаком атаки.В этом выражении
a{100,}— 100 или более символовaподряд. -
--.*— блокировать запросы, содержащие комментарии в SQL-запросах, что может быть признаком SQL-инъекции.В этом выражении
--— начало SQL-комментария,.*— ноль или более любых символов.