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
emgoogle.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
emabc.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/ |