Como seguro é um HTTP GET quando os dados são URL codificado?
-
06-07-2019 - |
Pergunta
Se os dados forem URL codificado, não é seguro o suficiente para enviar credenciais de login através de HTTP GET?
Solução
Nem um pouco. URL codificada é facilmente reversível. Você deve criptografar a camada de transporte (ou seja, usar HTTPS)
Outras dicas
Não -. Codificação de URL se destina a garantir que todos os caracteres que você tentar enviar um pedido GET pode realmente chegar na outra extremidade
Na verdade, é projetado para ser facilmente codificados e decodificados para preparar os dados para o transporte, não para a segurança.
codificação de URL não é qualquer tipo de criptografia, ele só prepara a string a ser enviada através da rede.
Se os dados forem sensíveis, GET deve ser completamente fora de questão. Razões para isso?
- A mais óbvia, todos que toma uma olhada na barra de URL, verá os dados
- Os dados serão deixados em cada log de proxy que passa através
- Se as folhas de usuários do site, o próximo local terá a URL registrado em sua logs / estatísticas de web (referer).
Por favor, leia o propósito de URL codificação
A especificação para URLs (RFC 1738, Dec. 94) coloca um problema, na medida em que limita o uso de caracteres permitidos em URLs para apenas um subconjunto limitado do conjunto de caracteres US-ASCII.
HTML, por outro lado, permite que toda a gama do conjunto ISO-8859-1 caracteres (ISO-Latin) para ser usado em documentos - e HTML4 expande a faixa permitida para incluir todo o conjunto de caracteres Unicode, bem . No caso de não ISO-8859-1-caracteres (caracteres acima FF hex / 255 decimal no conjunto Unicode), eles simplesmente não podem ser usados ??em URLs, porque não há nenhuma maneira segura para especificar informações conjunto de caracteres no conteúdo URL ainda [RFC2396].
URLs deve ser codificado em todos os lugares em um documento HTML que uma URL é referenciado para importar um objeto (A, APPLET, AREA, BASE, BGSOUND, corpo, EMBED, FORM, FRAME, IFRAME, ILAYER, IMG, ISINDEX, ENTRADA, CAMADA, Elo, OBJECT, roteiro, SOM, TABLE, TD, elementos TH e TR.)
A segurança não é o ponto aqui. Como já observado, HTTPS deve ser usado quando o que é necessário.
URLEncoding é para codificação / transmissão, não de segurança.
Nem um pouco seguro.