In PAC verwendet shExpMatch Platzhalter im Shell-Stil. Für Subdomains von example.com:

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

Verwenden Sie in diesen Rückgabewerten die von der Richtlinie ausgewählten HTTP-Endpunkte; die HTTP-Proxy-Liste liefert Kandidaten für zulässige öffentliche Routen. Der Stern passt auf eine Zeichenfolge. Er ist kein Wiederholungsoperator eines regulären Ausdrucks, daher ändert ein regex-artiges .*example.com die Bedeutung.

Nehmen Sie den exakten Elternteil ausdrücklich auf, wenn er zur Richtlinie gehört:

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

*example.com stattdessen würde auch Namen akzeptieren, die auf diesen Buchstaben ohne trennenden Punkt enden. Das erweitert die Menge über die beabsichtigte Domain-Grenze hinaus.

Die portable PAC-Platzhalter-Grundlage umfasst * und ?; Zeichenklassen variieren je nach Implementierung. Ein JavaScript-Regex verwendet stattdessen test() und eigene Regeln für Verankerung und Escaping.

Passen Sie die beabsichtigte Eingabe ab. host ist ein Hostname, während url ein Schema enthält und möglicherweise bereinigt wurde. Eine Domain-Regel sollte nicht versehentlich von einem Pfad abhängen, den der Browser nie liefert.

Ähnliche Artikel