URLs contêm mais estrutura do que parecem

Um destino inclui um esquema, host, porta opcional, caminho, consulta e fragmento. Tratá-la como uma string arbitrária torna a validação inconsistente e pode introduzir um comportamento inseguro ou surpreendente.

Analise o valor completo uma vez com um analisador de URL testado e, em seguida, aplique regras ao resultado estruturado.

Os fragmentos não pertencem à solicitação do servidor

Um navegador mantém o fragmento após o sinal de hash e não o envia ao servidor de destino. Um serviço de redirecionamento pode preservá-lo para navegação do cliente, mas uma plataforma pode remover fragmentos intencionalmente quando seu contrato os trata como estado de UI local.

Qualquer política escolhida deve ser visível e testada. A codificação silenciosa do hash em um caminho altera o destino e é um bug comum de normalização.

Destinos privados precisam de cuidados especiais

Hosts de loopback, privados, locais de link e internos podem se tornar perigosos quando uma plataforma também busca visualizações ou executa verificações de integridade. Rejeitá-los antes do armazenamento simplifica o limite de segurança.

A resolução de nome de host precisa de verificações adicionais em um buscador isolado porque um nome de host de aparência pública pode posteriormente ser resolvido para um endereço privado. A validação de string por si só não é uma defesa SSRF completa.

API do desenvolvedor · Acesso e limites atuais