Pergunta

Supondo que você tenha um formulário que coleta e envia informações confidenciais e deseja garantir que elas nunca sejam acessadas por meios inseguros (não HTTPS), qual a melhor forma de aplicar essa política?

Foi útil?

Solução

Acho que a solução mais à prova de balas é manter o código apenas dentro da raiz do documento SSL.Isso garantirá que você (ou outro desenvolvedor no futuro) não possa vincular acidentalmente a uma versão não segura do formulário.Se você tiver o formulário HTTP e HTTPS, talvez nem perceba se o formulário errado for usado inadvertidamente.

Se isso não for possível, eu tomaria pelo menos duas precauções.Reescreva o URL do Apache e verifique seu código para ter certeza de que a sessão está criptografada - verifique os cabeçalhos HTTP.

Outras dicas

Se você estiver executando o Apache, você pode colocar um RewriteRule na tua .htaccess, igual a:

RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html

Dê uma olhada neste: http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https

Editar:Isso mostra soluções do ponto de vista do IIS, mas você deve ser capaz de configurar qualquer servidor web para isso.

No IIS?Vá para as configurações de segurança e clique em “Exigir conexão segura”.Como alternativa, você pode verificar as variáveis ​​do servidor no carregamento da página e redirecionar para a página segura.

Sugiro olhar a solicitação no código que renderiza o formulário e, se não estiver usando SSL, emitir um redirecionamento para a URL https.

Você também pode usar uma regra de reescrita no Apache para redirecionar o usuário.

Ou você pode simplesmente não disponibilizar a página via HTTP e mantê-la apenas na raiz do documento do seu site HTTPS.

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