Примеры CSV для импорта правил блокировки IskWaf
=================================================

Файлы предназначены для импорта правил через интерфейс IskWaf
(кнопка «Импорт» на вкладке соответствующего типа правил).

Файлы и типы правил:
  blocks-ip.csv   — правила по IP / CIDR        (тип: ip)
  blocks-ua.csv   — правила по User-Agent       (тип: ua)
  blocks-ref.csv  — правила по Referrer         (тип: ref)
  blocks-uri.csv  — правила по Request URI      (тип: uri)

Разделитель: точка с запятой «;» (значение по умолчанию).
Импорт также авто-определяет «,» и табуляцию; при экспорте берётся
системная настройка iskwaf_csv_delimiter.

Колонки (первая строка — заголовок, порядок не важен, имена обязательны):

  ip:   ip_cidr; rule_type; description; active
  ua:   user_agent_pattern; pattern_type; rule_type; description; active
  ref:  referrer_pattern; pattern_type; rule_type; description; active
  uri:  uri_pattern; pattern_type; match_query_string; rule_type; description; active

Значения полей:
  rule_type          — block | allow | captcha   (пусто = block)
  pattern_type        — contains | exact | regex  (для uri ещё starts_with; пусто = contains)
  match_query_string  — учитывать query string (только uri; пусто = 0)
  active              — 1/0, true/false, yes/no, да/нет (пусто = 1)

Уникальное поле (по нему определяются дубликаты):
  ip → ip_cidr, ua → user_agent_pattern, ref → referrer_pattern, uri → uri_pattern

Правила:
  - Паттерн (уникальное поле) не может быть пустым — такая строка пропускается с ошибкой.
  - Для pattern_type=regex значение должно быть корректным PCRE с делимитерами,
    например /(curl|wget)/i — иначе строка отклоняется.
  - IP/CIDR проверяется на валидность (IPv4/IPv6, маска 0–32 / 0–128).
  - Полностью пустые строки молча пропускаются.
  - Режим импорта: skip (пропускать дубликаты) или update (обновлять существующие).
  - Лимиты: до 50000 строк данных и до 5 МБ на файл; расширения .csv и .txt.

Кодировка: UTF-8. Для корректного отображения кириллицы в Excel
файл при экспорте сохраняется с BOM.
