Шаблоны URL'ов
С помощью шаблонов URL'ов вы можете задать группу адресов, к которым будет применяться политика. Шаблоны URL'ов могут содержать один или несколько подстановочных знаков *, например https://mysite.com:*/*. Подстановочный знак всегда заменяет элемент целиком. Например, шаблон https://mysit*.com недопустим.
Допустимые шаблоны
scheme://host:port/path
-
scheme— чаще всегоhttpилиhttps. Если схемаscheme://не указана, политика применяется ко всем схемам. Поддерживаемые схемы:aboutbrowserchromefilehttphttps
Примечание
Шаблон со схемой
aboutможно задать одним из способов:about:blankabout:///blankabout:///*
-
host— полное доменное имя, включает доменное имя верхнего уровня и поддомены (указываются слева). Еще можно указывать хост, напримерlocalhost. По умолчанию политика применяется только к указанному домену, без поддоменов. Чтобы она применялась к любому поддомену, добавьте перед доменом подстановочный знак[*.], например[*.]mysite.com. Если в шаблоне есть префикс.вhost, то фильтр проходят только точные совпадения сhost. -
port— номер порта, число от 1 до 65535. Еслиportне указан или указан*, политика применяется ко всем портам. -
path— URL-адрес. Еслиpathне указан или указан*, политика применяется ко всем путям. Зависит от регистра.
a.b.c.d
Вместо домена можно использовать адрес IPv4 вида a.b.c.d. В IP-адресе использовать подстановочные знаки запрещено. Нельзя указывать схему, порт и путь.
[a:b:c:d:e:f:g:h]
Вместо домена можно использовать адрес IPv6 в квадратных скобках — [a:b:c:d:e:f:g:h]. Использовать подстановочные знаки для адреса запрещено. Нельзя указывать схему, порт и путь.
Диапазон IP-адресов
Можно указывать диапазоны IP-адресов через маску подсети. Укажите ее без схемы и порта в формате a.b.c.d/n для IPv4 или a:b:c:d:e:f:g:h/n для IPv6, где n — длина префикса. Например, маске подсети 192.168.0.1/16 будет соответствовать диапазон IP-адресов 192.168.0.1–192.168.255.255.
file://path
-
file— схема для указания пути к файлам. -
path— путь должен начинаться с/. Адресfile://dir/myfile.htmlнедопустим, правильный вариант —file:///dir/myfile.html. Подстановочные знаки не используются, за исключением вариантаfile:///*, который означает, что политика будет применяться к файлам по любым адресам в сети. -
Домены и порты не указываются. Политика будет применяться к любым доменам и портам
localhost. Например, шаблонfile:///file.htmlбудет соответствовать адресамfile://localhost/file.htmlиfile://mysite.com/file.html.
*
Любые URL'ы, порты и пути.
Алиасы
С помощью политики YandexUrlPatternAliases можно задавать алиасы для списков шаблонов URL'ов. Эти алиасы будут применены ко всем политикам, которые содержат имена алиасов в формате $(alias_name).
Внимание
Алиас не может включать в себя другой алиас.
Пример значения политики YandexUrlPatternAliases:
{
"aliases": {
"foo": "ya.ru; ya.com",
"bar": "*; [*.]com; [*.]net",
"baz": "internal_urls"
}
}
Для применения в других политиках укажите в них, например, $(foo) для использования алиаса foo.
Порядок фильтрации URL'ов
Шаблоны применяются к наиболее точному совпадению URL'а. В URL'е игнорируются user:pass, разделитель # с последующим содержанием, суффиксы / и . в host.
-
Выбираются URL'ы с максимальным совпадением
host. URL'ы с неподходящимиschemeилиportпропускаются. -
Из этого списка выбираются URL'ы с максимальным совпадением
path. -
Если после такой фильтрации не осталось ни одного допустимого URL'а, в
hostудаляется самый левый поддомен, и алгоритм начинается заново с шага 1. -
Если URL соответствует шаблону, к нему применяется политика. Если ни один URL не соответствует шаблону, политика не применяется.
Недопустимые шаблоны
| Шаблон | Причина |
|---|---|
[*.].mysite.com |
Точка перед mysite. |
file://mysite.com/somefile.html |
В URL'е файла нельзя указывать домен. |
file://somefile.html |
Только два / вместо необходимых трех. |
http*://mysite.com |
Подстановочный знак должен заменять элемент целиком. |
https://mysit*.com |
Подстановочный знак должен заменять элемент целиком. |
file://somefile.* |
Единственно верный URL файла с подстановочным знаком — file:///*. |
[*.]127.0.0.1 |
Использование поддоменов и подстановочного знака с IP-адресами не поддерживается. |
*://mysite.com:*/path |
Вместо схемы нельзя указывать подстановочный знак *. |
Примеры шаблонов
-
[*.]mysite.com— подойдет какmysite.com, так иsubdomain.mysite.com, а еще любой схеме, порту и пути. -
[*.]ysite.com— подойдетsubdomain.ysite.com, но неmysite.com. -
file:///foo/bar.html— подойдутfile://localhost/foo/bar.htmlиfile://mysite.com/foo/bar.html. -
file:///*— подойдет любому URL'у, который начинается сfile://. -
Схемы, порты и пути можно использовать с IP-адресами, например,
https://[::1]:8080/myfile.html.
Полезные ссылки