Página do MDN sobre Senhas não protegidas.
O protocolo HTTPS foi criado para proteger as informações dos usuários na internet de serem vistas e modificadas. Sites da internet que manipulam informações de usuários devem utilizar o HTTPS para proteger os usuários de hackers. Sem ele ( o HTTPS), roubar informações dos usuários (como credenciais de login e senha) é algo trivial. A demonstração do
Firesheep disso é famoso.
Servir formulários de login inseguros é perigoso por causa da grande variedade e ataques que podem ser utilizados contra eles (os formulários inseguros). Os bisbilhoteiros da internet roubam as credenciais de um usuário de várias formas, como por exemplo, vasculhando a internet ou modificando a pagina ofereciado ao usuário para possibilitar uma variedade de ataques.
O painel de segurança no Firefox Web Console avisa desenvolvedores se suas paginas que requerem senhas, como formulários de login, sobre conexóes inseguras. Existem vários cenários nos quais o desenvolvedor pode falhar na proteção do login de seu usuário:
1. Oferencendo o formulário de login com HTTP. Mesmo o formulário sendo HTTPS, o formulário de login do usuario não é protegido porque um hacker pode modificar a pagina que o usuário recebe (por exemplo, inserindo um keylogging script que filtra a senha do usuário enquanto ele a digita, ou modificando o destino do formulário para enviar as informações sensíveis para um server controlado pelo hacker). Aqui está uma screenshot mostrando o problema com as mensagens de segurança importantes sendo mostradas na aba do web console:
2. Utilizando uma URL HTTP na ação do formulário. Nesse caso, qualquer dado que o usuário inserir é enviado através da internet em forma de texto. A senha do usuário fica claramente visível para qualquer um que estiver vasculhando a internet no tempo em que a senha sai do computador do usuario até o tempo que ela alcança o server de seu website. Aqui está outra screenshot mostrando o HTML do formulário e as mensagens de aviso relevantes:
3. Servindo o formulário de login em um HTTP iframe ( ou um HTTPS frame que esta inserido em um HTTP frame) Mesmo a pagina de cima seja HTTPS, incluindo um campo de senha e um iframe HTTP é equivalente a inclui-lo em uma página HTTP. Hackers podem modificar a página e roubar as credenciais do usuário.
As vezes websites exigem usernames e senhas, mas nao armazenam dados q sao sensíveis. Por exemplo, um site de notícias pode salvar quais artigos um usuário quer voltar a ler, mas nao salvar nenhum outro dado sobre o usuário. Desenvolvedores web do site de notícias podem estar menos motivados a proteger o seu site e as credenciais do usuário. Infelizmente, a reutilização de senhas é um grande problema[link?]. Usuários utilizam a mesma senha em vários sites. Então, mesmo que o acesso ao username a senha do usuário do seu site nao pareça um grande risco para voce, é um grande risco para o usuário que utilizou o mesmo username e senha para entrar na sua conta do banco. Hackers estão cada vez mais inteligentes, eles roubam pares de username/senhas de um site e depois tentam reutiliza-los em outros sites mais lucrativos.