⊗ppPmAuHs 423 of 447 menu

Paroles hešēšana PHP

Saglabāt paroli atklātā veidā ir nepareizi. Uzbrucējs-hakeris var iegūt piekļuvi jūsu datu bāzei un nozagt paroles.

Tāpēc parasti lietotājvārds tiek saglabāts atklātā veidā, bet parole tiek hešēta ar speciālu funkciju md5, kas parametru pieņem paroli, un atgriež tās hešu, pēc kura nevar atjaunot šo pašu paroli.

Piemēram, atradīsim kādas virknes hešu:

<?php echo md5('12345'); // izvadīs '827ccb0eea8a706c4c34a16891f84e7b' ?>

Tagad mums ir jāpārveido mūsu reģistrācija un mūsu autorizācija. Iesākumā es ieteiktu iztīrīt lietotāju tabulu, jo tajā pašlaik tiek glabātas paroles atklātā veidā, bet tajā jāglabā to heši. Pēc tam, testējot reģistrāciju, tabula tiks aizpildīta ar datiem jaunajā formātā.

Tagad labosim mūsu reģistrāciju tā, lai, saglabājot jaunu lietotāju datu bāzē, tiktu pievienota ne parole, bet tās hešs.

Aprakstītā labojums izskatīsies apmēram šādi:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // pārveido paroli par tās hešu $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Ieviesīsim līdzīgus labojumus autorizācijā:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // pārveido paroli par tās hešu $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Ieviesiet izmaiņas reģistrācijā, ņemot vērā hešēšanu, reģistrējiet pāris jaunus lietotājus, pārliecinieties, ka dati datu bāzē tika pievienoti ar hešētām parolēm.

Ieviesiet izmaiņas autorizācijā, ņemot vērā hešēšanu, mēģiniet autorizēties ar iepriekš reģistrētiem lietotājiem.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt