#3570: Блокировка URL с кириллицей в запросах

Отредактирована: 127 дней назад

Симптомы

Не получается заблокировать URL, для примера: https://egoist-music[.]ru/?mp3=привет
Кириллицу UG в список не принимает с ошибкой "Некорректное значение одного из полей", при замене кириллицы на UTF8 (https://egoist-music[.]ru/?mp3=%D0%B4%D0%BE%D1%85%D0%BB%D0%B0%D1%8F) запись в список добавляется, но сайт не блокируется.

Решение

Конвертация в punycode необходима только для национальных доменных имен. Например, для ресурса https://поддерживаю[.]рф. UserGate выполняет подобную конвертацию автоматически при добавлении ресурса в список URL. Также большинство браузеров автоматически конвертирует эти домены в punycode при копировании из адресной строки. В случае, если необходима конвертация вручную, вы действительно можете использовать поиск по ресурсу whois.ru - результат поиска также конвертируется в punycode.

В вашем случае используется обычный домен (egoist-music[.]ru), а кириллица встречается в пути. В этом случае необходимо кодировать путь в url-encode.

При проверке списков URL с кириллицей в пути на стенде:

1) Обнаружил проблему в работе механизма добавления подобных адресов:

  • Если вы добавите этот адрес в закодированом виде, то он преобразуется к виду в кириллице. Однако, в таком случае сработок действительно не будет.
  • Если вы добавите адрес с кириллицей без кодировки, то сработки также отсутствуют. Имеется задача на исправление подобного поведения SUM-11234.

2) Чтобы обойти данную проблему, вам необходимо:

  • Добавить вариант с url-encode в список.
  • Нажать "Редактировать" на созданной записи и заменить кириллический вариант на вариант с url-encode, после чего пересохранить запись.
  • В итоге ваша запись сохранится в закодированом формате - правило должно отрабатывать корректно. Необходимо проверить, будут ли срабатывания после выполнения данной процедуры.

3) Замечу, что для наличия срабатываний созданный список должен быть чувствительным к регистру. Наблюдаю отсутствие срабатываний при создании списка, нечувствительного к регистру. Замечу, что тип списка выбирается при его создании и в дальнейшем не может быть изменен. За чувствительность к регистру как раз отвечает тип списков. Они описаны в данной статье.

Также символы "/" в пути не должны кодироваться в urlencode.

Причина

Работа над решением ведется в рамках SUM-11234