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 les domaines correspondants en entier ou par suffixe, ainsi que les URL avec un chemin complet sans paramètres ou un chemin de préfixe.
Caractères génériques acceptés
UrlList
est compatible avec le caractère générique *
(astérisque), que vous pouvez utiliser comme préfixe pour faire correspondre des sous-domaines ou des chemins d'accès partiels.
Lorsque vous fournissez des domaines partiels, UrlList
ne correspond qu'aux jetons de sous-domaine complets. Si aucun séparateur de chemin d'accès n'est fourni, UrlList
correspond à n'importe quel chemin d'accès. 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 les faire correspondre aux URL, puis détermine si l'URL est autorisée ou non.
UrlList
interprète les entrées comme suit:
Les entrées contenant un point (
.
) et une barre oblique (/
) doivent être des URL valides. 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 contenant un point (
.
) et ne contenant pas de barre oblique (/
) sont interprétées comme des domaines. Vous pouvez inclure le caractère générique de 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 sont non 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 du 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 ou 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/ |