I PAC använder shExpMatch jokertecken i shell-stil. För underdomäner till example.com:

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

Använd de HTTP-slutpunkter som policyn valt i dessa returvärden; HTTP-proxylistan tillhandahåller kandidater för tillåtna publika rutter. Stjärnan matchar en sekvens av tecken. Den är inte en repetitionsoperator för reguljära uttryck, så ett regex-likt .*example.com ändrar betydelsen.

Ta med det exakta föräldranamnet uttryckligen när det hör till policyn:

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

Att använda *example.com i stället skulle också acceptera namn som slutar på dessa bokstäver utan en avskiljande punkt. Det breddar mängden bortom den avsedda domängränsen.

Den portabla PAC-jokerteckenbaslinjen omfattar * och ?; teckenklasser varierar beroende på implementering. Ett JavaScript-regex använder i stället test() och sina egna regler för förankring och escaping.

Matcha den avsedda indatan. host är ett värdnamn, medan url innehåller ett schema och kan ha sanerats. En domänregel bör inte av misstag bero på en sökväg som webbläsaren aldrig tillhandahåller.

Relaterade artiklar