Referência de sintaxe de UrlList

Este guia explica a sintaxe UrlList para o Secure Web Proxy.

UrlList permite-lhe criar muitas entradas de correspondência que pode reutilizar em várias regras.

A sintaxe UrlList suporta a correspondência de domínios na totalidade ou por sufixo, e URLs com o caminho completo sem parâmetros ou um caminho de prefixo.

Carateres universais suportados

O UrlList suporta o caráter universal asterisco *, que pode usar como um prefixo para corresponder a subdomínios parciais ou caminhos parciais.

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

Como o UrlList interpreta as entradas

O proxy Web seguro usa os padrões UrlList que fornece para fazer a correspondência com os URLs e, em seguida, determinar se o URL é permitido ou não permitido.

O UrlList interpreta as entradas de acordo com o seguinte:

  • As entradas que contêm um ponto (.) e uma barra (/) têm de ser URLs bem formados. Pode incluir carateres universais de subdomínio e caminho. O token à esquerda do primeiro caráter / é 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. Pode incluir o caráter universal do subdomínio. Neste caso, o token mais à direita é 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 é comparado com valores que contêm uma barra (/), como em request.url(), os padrões são interpretados conforme explicado anteriormente. No entanto, quando um padrão UrlList é correspondido com valores sem um /, como em host(), apenas a parte do domínio do padrão é correspondida.

Exemplos de correspondência de padrões

A tabela seguinte mostra exemplos de padrões, exemplos de URLs com os quais cada padrão corresponde e exemplos de URLs com os quais cada padrão não corresponde.

Padrão Correspondências 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/