⊗ppPmAuHs 423 of 447 menu

Passordhashing i PHP

Å lagre passord i klartekst er feil. En ondsinnet hacker kan få tilgang til databasen din og stjele passord.

Derfor lagres vanligvis brukernavn i klartekst, mens passord hashes med en spesiell funksjon md5, som tar passordet som parameter og returnerer dens hash, som ikke kan brukes til å gjenopprette selve passordet.

La oss for eksempel finne hashen til en streng:

<?php echo md5('12345'); // vil skrive ut '827ccb0eea8a706c4c34a16891f84e7b' ?>

Nå må vi omarbeide registreringen vår og autorisasjonen vår. Til å begynne med vil jeg anbefale å tømme brukertabellen, siden den for øyeblikket lagrer passord i klartekst, mens den burde lagre deres hasher. Deretter, under testing av registrering, vil tabellen fylles med data i det nye formatet.

La oss nå justere registreringen vår så når en ny bruker lagres i databasen, legges det ikke til passord, men dens hash.

Den beskrevne endringen vil se omtrent slik ut:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // konverterer passord til dens hash $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

La oss gjøre lignende endringer i autorisasjonen:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // konverterer passord til dens hash $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Gjør endringer i registreringen med hensyn til hashing, registrer et par nye brukere, forsikre deg om at de ble lagt til i databasen med hashede passord.

Gjør endringer i autorisasjonen med hensyn til hashing, prøv å logge inn med tidligere registrerte brukere.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis