Validação de URL
Cenário de aplicação
Alguns sites desonestos podem roubar links de outros sites para enriquecer seu conteúdo sem nenhum custo. O roubo de links prejudica os interesses dos sites originais e também é uma pressão em seus servidores. OBS fornece validação de URL para resolver esse problema.
No HTTP, o campo Referer permite que sites e servidores da Web identifiquem de onde as pessoas estão os visitando. A validação de URL de OBS utiliza esse campo Referer. A ideia é que, uma vez que você descobrir que uma solicitação para o seu recurso não é originada de uma fonte autorizada (por exemplo, uma URL), você pode ter a solicitação bloqueada ou redirecionada para uma página da Web específica. Dessa forma, OBS impede o acesso não autorizado a dados armazenados em buckets.
Tal autorização é controlada usando uma lista branca e uma lista negra.
Referer setting rules:
- O comprimento de uma lista branca ou lista negra não pode exceder caracteres 1.024.
- Formato de referência:
- Você pode inserir vários referenciadores, cada um em uma linha.
- O parâmetro referer suporta asteriscos (*) e pontos de interrogação (?). Um asterisco funciona como um curinga que pode substituir zero ou vários caracteres, e um ponto de interrogação (?) pode substituir um único caractere.
- Se o campo de cabeçalho referer contém http ou https durante o download, o referer deve conter http ou https.
- Se Whitelisted Referers for deixado em branco, mas Blacklisted Referers não for, todos os sites, exceto os especificados na lista negra, terão permissão para acessar os dados no bucket de destino.
- Se Whitelisted Referers não forem deixados em branco, somente os sites especificados na lista branca terão permissão para acessar o bucket de destino, independentemente de Blacklisted Referers serem deixados em branco ou não.
Se Whitelisted Referers estiver configurado da mesma forma que Blacklisted Referers, a lista negra entrará em vigor. Por exemplo, se ambas Whitelisted Referers e Blacklisted Referers estiverem definidas para https://www.example.com, as solicitações de acesso desse endereço serão bloqueadas.
- Se Whitelisted Referers e Blacklisted Referers forem deixadas em branco, todos os sites terão permissão para acessar dados no bucket de destino por padrão.
- Antes de determinar se um usuário tem os quatro tipos de permissões (Read, Write, ACL View, e ACL Edit) para um bucket ou objetos no bucket, verifique se esse usuário está em conformidade com os princípios de validação de URL do campo Referer.
Whitelist and blacklist setting methods:
- Configurações da lista branca
Ao definir uma lista branca, você pode permitir solicitações dos sites na lista branca, mas negar as dos sites que não estão na lista branca.
Para as solicitações que são inicializadas a partir da caixa de endereço de um navegador, você pode adicionar o campo ${null} a Referer de Condition para especificar se deseja permitir as solicitações HTTP com uma referer em branco.
Para configurar uma lista branca, consulte a seguinte política:
"Statement":[ {"Sid": "1", "Effect": "Allow", "Principal": {"ID":["*"]}, "Action": "*", "Resource":["bucket/*"], }, {"Sid":"2", "Effect":"Deny", "Principal":{"ID":["*"]}, "Action":["*"], "Resource":["bucket/*"], "Condition":{ "StringNotEquals": {"Referer":["http://www.example01.com","${null}"]} } } ]
Se você definir uma lista de permissões dessa maneira, apenas as solicitações cuja referer está definida como www.example01.com ou em branco podem trabalhar em recursos em buckets.
- Configurações da lista negra
Para configurar uma lista negra, consulte a seguinte política:
"Statement":[ {"Sid":"1", "Effect":"Deny", "Principal":{"ID":["*"]}, "Action":["*"], "Resource":["bucket/*"], "Condition":{ "StringEquals": {"Referer":["http://www.example01.com","http://www.example02.com"]} } } ]
Se você definir uma lista negra dessa forma, as solicitações cuja referer está definida como www.example01.com ou www.example02.com não podem trabalhar em recursos em buckets.
Como usar essa função
Você pode usar console de OBS ou as API para configurar a validação de URL.
Ferramenta |
Referência |
---|---|
Console |
|
As API |