I PAC bruker shExpMatch jokertegn i shell-stil. For underdomener av example.com:

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

Bruk HTTP-endepunktene som policyen har valgt, i disse returverdiene; HTTP-proxylisten gir kandidater for tillatte offentlige ruter. Stjernen matcher en sekvens av tegn. Den er ikke en repetisjonsoperator for regulære uttrykk, så et regex-aktig .*example.com endrer betydningen.

Ta med det nøyaktige overordnede navnet eksplisitt når det hører til policyen:

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

Å bruke *example.com i stedet ville også godta navn som slutter på disse bokstavene uten et skilletegn. Det utvider mengden utover den tiltenkte domenegrensen.

Den portable PAC-jokertegnsbasen inkluderer * og ?; tegnklasser varierer etter implementasjon. Et JavaScript-regex bruker i stedet test() og sine egne regler for forankring og escaping.

Match det tiltenkte inndataet. host er et vertsnavn, mens url inneholder en skjema og kan ha blitt renset. En domeneregel bør ikke ved et uhell avhenge av en sti som nettleseren aldri leverer.

Relaterte artikler