⊗ppPmAuHs 423 of 447 menu

Password-hashing i PHP

Det er forkert at gemme adgangskoder i klartekst. En hacker med ondsindede hensigter kan få adgang til din database og stjæle adgangskoderne.

Derfor gemmes login normalt i klartekst, mens adgangskoden hashes med en speciel funktion md5, som tager adgangskoden som parameter og returnerer dens hash, hvorfra det er umuligt at gendanne selve adgangskoden.

Lad os for eksempel finde hashen for en vilkårlig streng:

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

Nu er vi nødt til at omstrukturere vores registrering og vores autorisation. Til at starte med vil jeg anbefale at rydde tabellen med brugere, da der i øjeblikket gemmes adgangskoder i klartekst, mens der skal gemmes deres hashes. Derefter, når du tester registreringen, vil tabellen blive fyldt med data i det nye format.

Lad os nu rette vores registrering, så der ved lagring af en ny bruger i databasen tilføjes ikke adgangskoden, men dens hash.

Den beskrevne rettelse vil se ud på følgende måde:

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

Lad os foretage lignende ændringer i autorisationen:

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

Foretag ændringer i registreringen under hensyntagen til hashing, registrer et par nye brugere, og sikr dig, at de blev tilføjet til databasen med hashede adgangskoder.

Foretag ændringer i autorisationen under hensyntagen til hashing, og prøv at logge ind under de tidligere registrerede brugere.

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