Documentation de référence sur la syntaxe UrlList

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 dans google.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 dans abc.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/