Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida na aula 6 - Parâmetros da requisição

Nessa aula é explicado que o método post é utilizado para evitar que parâmetros (como login e senha por exemplo) apareçam na URL portanto são enviados no corpo da requisição, então minha dúvida é relacionada mais a segurança do protocolo, como o HTTP "esconde" essa requisição evitando que um terceiro apareça no meio da relação cliente-servidor e pegue os dados enviados?

4 respostas
solução!

Bom dia !

João,

Na verdade não esconde pois sua senha e login vão expostos dentro da requisição caso você utilize somente o protocolo http. O que acontece normalmente em muito sites onde precisa se ter um segurança dos dados a serem transmitidos é que implementam camadas normalmente em javascript para criptografar os dados que estão enviando, de forma que os dados sejam codificados ainda antes de serem enviados - mas isso não é uma prática difundida por ter poucos ganhos sobre o HTTPS em si - e ser muito difícil de ser bem feito a ponto de, de fato, melhorar a segurança (e não só uma sensação ilusória de segurança). Em particular, se o navegador de origem estiver comprometido por um malware que permita interceptar os dados do Post antes da codificação usada na conexão HTTPS, o mesmo Malware também poderia interceptar os dados antes da codificação em algum javascript (e também o código javascript utilizado para a criptografia extra e as chaves que está usando): ou seja, o caso de um ataque bem direcionado, a vulnerabilidade ainda estaria lá.

Uma técnica, que tentasse criptografia por obscuridade combinada com outras técnicas, inserindo eventos de teclado falsos na digitação da senha, separação dos caracteres da senha em pacotes de dados distintos, além do uso de uma outra camada de criptografia, no entanto, poderia sim evitar ou retardar ataques genéricos ou automáticos (mas como descrito acima, mesmo com todo esses cuidados, você estaria vulnerável a um ataque refinado, cujo alvo fosse especificamente sua aplicação). No entanto, eu em particular considero que a sensação de estar seguro quando não se está é pior do que saber que se está vulnerável.

Espero ter respondido sua questão.

att. César

Oi João,

Na verdade o método POST continua mandando os parâmetros na forma de texto, com a única diferença que eles não aparecem na URL. Então continua sendo inseguro, pois na comunicação entre cliente->servidor a exposição dos dados é a mesma. Para realmente proteger seus dados, existe um outro protocolo web chamado HTTPS, que é uma junção do HTTP com o SSL ou TLS (os dois são protocolos de segurança que usam do mesmo tipo de criptografia, o RSA). No HTTPS, toda comunicação com o servidor é encriptada, se tornando assim, seguro. Deixarei um link que explica um pouco mais detalhado sobre como funciona.

https://www.instantssl.com/ssl-certificate-products/https.html

Entendi, ao mesmo tempo que me parece inseguro também se mostra a melhor forma analisando o funcionamento, tanto que é a forma utilizada na internet. Obrigado pelas respostas!

As ordens, precisando estamos ae pra te ajudar.