Ler primeiro o nome do host
Um URL pode conter um esquema, informação de utilizador, anfitrião, porta, caminho, consulta e fragmento. O nome de anfitrião identifica o nome de destino; palavras num caminho ou consulta não identificam o operador. Em https://example.net/bank-login, "bank-login" é um caminho em example.net.
Um símbolo @ pode introduzir informação de utilizador. Em https://[email protected]/, o nome do anfitrião de destino é example.net, não trusted-name. Preserve a string original, depois use um 'parser' consciente das normas em vez de ler o link apenas visualmente.
Codificação e nomes internacionalizados
A codificação percentual pode ocultar caracteres em caminhos e consultas. Nomes internacionalizados podem ser representados usando Punycode começando com xn--. Decodifique para interpretação, mantendo o texto original inalterado. Caracteres Unicode com aparência semelhante não são necessariamente idênticos.
As cadeias de consulta podem conter tokens de login, identificadores ou dados pessoais. Não envie URLs sensíveis completos para serviços de análise pública sem autorização. Um fragmento é normalmente tratado pelo navegador em vez de ser enviado como parte da solicitação HTTP.
Triagem inicial segura
Comece com a análise offline e pesquisas públicas de DNS ou registo. Não visite um destino suspeito no seu navegador diário. Um analisador descreve um URL; não certifica que o destino é seguro.
- Mantenha o URL original na sua mensagem ou artefacto original.
- Identificar esquema, host, porta, caminho e consulta separadamente.
- Verificar informações do usuário, sósias e caracteres codificados.
- Remover dados sensíveis apenas de cópias usadas para submissões externas.
