Referência de sintaxe do UrlList

Este guia explica a sintaxe UrlList do Secure Web Proxy.

UrlList permite criar várias entradas de correspondência que podem ser reutilizadas em várias regras.

A sintaxe UrlList oferece suporte à correspondência de domínios completos ou por sufixo, além de URLs com caminho completo sem parâmetros ou um caminho de prefixo.

Caracteres curinga compatíveis

UrlList oferece suporte ao caractere curinga asterisco *, que pode ser usado como um prefixo para corresponder a subdomínios ou caminhos parciais.

Quando você fornece domínios parciais, UrlList corresponde apenas a tokens de subdomínio completos. Se um separador de caminho não for fornecido, UrlList vai corresponder a qualquer caminho. Por exemplo, se você fornecer example.com, UrlList corresponderá a example.com/*, incluindo todos os caminhos no domínio.

Como UrlList interpreta entradas

O Secure Web Proxy usa os padrões UrlList que você fornece para corresponder a URLs e determinar se o URL é permitido ou não.

UrlList interpreta as entradas da seguinte maneira:

  • As entradas que contêm um ponto (.) e uma barra (/) precisam ser URLs bem formados. É possível incluir subdomínios e caracteres curinga. O token à esquerda do primeiro caractere / é interpretado como o domínio de nível superior, como .com em google.com/news.

  • As entradas que contêm um ponto (.) e que não contêm uma barra (/) são interpretadas como domínios. Você pode incluir o caractere curinga de subdomínio. O token à direita, neste caso, é interpretado como o domínio de nível superior, como .xyz em abc.xyz.

  • Todas as outras entradas são inválidas.

Quando um padrão UrlList é correspondido a valores que contêm um barra (/), como em request.url(), os padrões são interpretados conforme explicado anteriormente. No entanto, quando um padrão UrlList é comparado com valores sem um /, como em host(), apenas a parte de domínio do padrão é comparada.

Exemplos de correspondência de padrões

A tabela a seguir mostra exemplos de padrões, exemplos de URLs que correspondem a cada padrão e exemplos de URLs que não correspondem a cada padrão.

Padrão Corresponde a Não corresponde
*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/