В PAC shExpMatch използва заместващи знаци в стил shell. За поддомейни на example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Използвайте избраните от политиката HTTP крайни точки в тези върнати стойности; списъкът с HTTP прокси сървъри предоставя кандидати за разрешени публични маршрути. Звездичката съвпада с последователност от знаци. Тя не е оператор за повторение на регулярен израз, затова изглеждащият като регулярен израз .*example.com променя значението.

Включете точното име на родителския домейн изрично, когато то принадлежи на политиката:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Използването на *example.com вместо това би приело също имена, завършващи с тези букви без разделяща точка. Това разширява набора отвъд предвидената граница на домейна.

Преносимата база за заместващи знаци в PAC включва * и ?; класовете знаци се различават според реализацията. Регулярният израз на JavaScript вместо това използва test() и собствени правила за закотвяне и екраниране.

Съпоставяйте предвидения вход. host е име на хост, докато url включва схема и може да е бил саниран. Правило за домейн не бива случайно да зависи от път, който браузърът никога не предоставя.

Подобни статии