Mysql
 sql >> Database >  >> RDS >> Mysql

Invio di password sul web

  1. Se vuoi sicurezza, TU. DOVERE. UTILIZZO. HTTPS. Con un certificato corretto e non autofirmato. Qualunque cosa tu faccia, le identità autenticate in comunicazioni non crittografate saranno banali da rubare. (Non importa la password, l'attaccante può semplicemente rubare il cookie di sessione fornito con ogni richiesta.)
  2. L'hashing non ha valore di per sé, devi salarlo. (Questo non è realmente correlato all'autenticazione:è un secondo livello di difesa nel caso in cui qualcuno rubi il tuo database. Cosa che probabilmente accadrà prima o poi se diventi un bersaglio promettente.) Usa bcrypt con un lungo salt casuale per utente, sha* è insicuro perché è troppo veloce.
  3. Utilizzare metodi già utilizzati da progetti di grandi dimensioni sensibili alla sicurezza. Questi metodi hanno, in una certa misura, resistito alla prova del tempo. Esistono metodi basati sulla risposta alla sfida che evitano di inviare la password in qualsiasi forma, ma la crittografia è difficile ed è molto facile implementare algoritmi sicuri in modo non sicuro. Utilizzare un buon framework di sicurezza (ad es. PHPass ), non fare affidamento su codice non ampiamente utilizzato.