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