Ce guide explique la syntaxe UrlList
pour le proxy Web sécurisé.
UrlList
vous permet de créer de nombreuses entrées de correspondance que vous pouvez réutiliser dans plusieurs règles.
La syntaxe UrlList
accepte la mise en correspondance des domaines complets ou par suffixe, ainsi que des URL avec un chemin d'accès complet sans paramètre ni chemin de préfixe.
Caractères génériques acceptés
UrlList
accepte le caractère générique astérisque *
, que vous pouvez utiliser comme préfixe pour établir une correspondance avec des sous-domaines ou des chemins partiels partiels.
Lorsque vous fournissez des domaines partiels, UrlList
ne correspond qu'aux jetons de sous-domaine complets. Si aucun séparateur de chemin n'est fourni, UrlList
correspond à n'importe quel chemin. Par exemple, si vous fournissez example.com
, UrlList
correspond à example.com/*
, y compris tous les chemins du domaine.
Comment UrlList
interprète les entrées
Le proxy Web sécurisé utilise les formats UrlList
que vous fournissez pour mettre en correspondance les URL, puis détermine si elles sont autorisées ou non.
UrlList
interprète les entrées selon ce qui suit:
Les entrées qui contiennent un point (
.
) et une barre oblique (/
) doivent être des URL au bon format. Vous pouvez inclure des caractères génériques de sous-domaine et de chemin d'accès. Le jeton situé à gauche du premier caractère/
est interprété comme le domaine de premier niveau, par exemple.com
dansgoogle.com/news
.Les entrées qui contiennent un point (
.
) et qui ne contiennent pas de barre oblique (/
) sont interprétées comme des domaines. Vous pouvez inclure le caractère générique du sous-domaine. Dans ce cas, le jeton le plus à droite est interprété comme le domaine de premier niveau, tel que.xyz
dansabc.xyz
.Toutes les autres entrées ne sont pas valides.
Lorsqu'un modèle UrlList
est mis en correspondance avec des valeurs contenant une barre oblique (/
), comme dans request.url()
, les modèles sont interprétés comme expliqué précédemment. Toutefois, lorsqu'un modèle UrlList
est mis en correspondance avec des valeurs sans /
, comme dans host()
, seule la partie domaine du modèle est mise en correspondance.
Exemples de correspondances de format
Le tableau suivant présente des exemples de formats, ainsi que des exemples d'URL auxquelles chaque format correspond et ne correspond pas.
Modèle | Correspondance établie | Ne correspond pas |
---|---|---|
*example.com |
example.com/ server.example.com/ sample.server.example.com/ example.com/path example.com/path?q=query example.com/path/subpath sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com |
*.example.com |
server.example.com/ sample.server.example.com/ sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ example.com/path example.com/path/subpath |
example.com |
example.com/ example.com/path example.com/path/subpath |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com server.example.com/ sample.server.example.com/ sample.server.example.com/path/ |
*server.example.com |
server.example.com/ sample.server.example.com/path sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ example.com/path example.com/path/subpath |
*example.com/ |
example.com/ server.example.com/ sample.server.example.com/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/path/ example.com/path/subpath sample.server.example.com/path/ |
*example.com/path* |
example.com/path example.com/path/subpath sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ server.example.com/ sample.server.com/ |
*example.com/path/* |
example.com/path/subpath sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ server.example.com/ sample.server.example.com/ example.com/path |
*example.com/path/ |
sample.server.example.com/path/ | myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ sample.example.com/ sample.server.example.com/ example.com/path example.com/path/subpath |
example.com/ |
example.com/ | myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com server.example.com/ sample.server.example.com/ example.com/path example.com/path/subpath sample.server.example.com/path/ |