⊗ppPmAuHs 423 of 447 menu

Hash delle password in PHP

Memorizzare le password in testo chiaro non è corretto. Un hacker malintenzionato potrebbe ottenere l'accesso al tuo database e rubare le password.

Pertanto, di solito il nome utente viene memorizzato in testo chiaro, mentre la password viene hashata con una funzione speciale md5, che accetta come parametro la password e restituisce il suo hash, dal quale non è possibile risalire alla password originale.

Ad esempio, troviamo l'hash di una stringa:

<?php echo md5('12345'); // visualizzerà '827ccb0eea8a706c4c34a16891f84e7b' ?>

Ora dobbiamo modificare la nostra procedura di registrazione e la nostra procedura di accesso. Per cominciare, consiglierei di svuotare la tabella degli utenti, poiché al momento contiene password in testo chiaro, mentre dovrebbero essere memorizzati i loro hash. Poi, durante il test della registrazione, la tabella verrà popolata con i dati nel nuovo formato.

Modifichiamo ora la nostra registrazione in modo che quando un nuovo utente viene salvato nel database, venga aggiunto non la password, ma il suo hash.

La modifica descritta sarà qualcosa del genere:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // convertiamo la password nel suo hash $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Apportiamo modifiche simili per l'autenticazione:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // convertiamo la password nel suo hash $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Apporta le modifiche alla registrazione tenendo conto dell'hashing, registra un paio di nuovi utenti, assicurati che siano stati aggiunti al database con le password hashate.

Apporta le modifiche all'autenticazione tenendo conto dell'hashing, prova ad accedere con gli utenti registrati in precedenza.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta