Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Enviando senhas pela web

  1. Se você quer segurança, VOCÊ. DEVO. USAR. HTTPS. Com um certificado adequado e não auto-assinado. Faça o que fizer, as identidades autenticadas em comunicação não criptografada serão triviais de serem roubadas. (Não importa a senha, o invasor pode simplesmente roubar o cookie de sessão fornecido com cada solicitação.)
  2. Hashing é inútil em si mesmo, você deve salgá-lo. (Isso não está realmente relacionado à autenticação - é uma segunda camada de defesa para o caso de alguém roubar seu banco de dados. O que provavelmente acontecerá mais cedo ou mais tarde se você se tornar um alvo promissor.) Use bcrypt com sal longo por usuário aleatório, sha* é inseguro porque é muito rápido.
  3. Use métodos que já estão em uso por grandes projetos com reconhecimento de segurança. Esses métodos, até certo ponto, resistiram ao teste do tempo. Existem métodos baseados em resposta ao desafio que evitam o envio da senha de qualquer forma, mas a criptografia é difícil e é muito fácil implementar algoritmos seguros de maneira insegura. Use uma boa estrutura de segurança (por exemplo, PHPass ), não confie em códigos que não são amplamente usados.