⊗ppPmAuHs 423 of 447 menu

Hashuirea parolei în PHP

A stoca parola în formă deschisă - este incorect. Un hacker rău intenționat poate obține acces la baza dvs. de date și să fure parolele.

De aceea, de obicei, login-ul este stocat în formă deschisă, iar parola este hashuită cu o funcție specială md5, care ia ca parametru parola și returnează hash-ul ei, din care nu se poate reconstitui parola inițială.

Să găsim, de exemplu, hash-ul pentru un șir oarecare:

<?php echo md5('12345'); // va afișa '827ccb0eea8a706c4c34a16891f84e7b' ?>

Acum trebuie să modificăm înregistrarea și autentificarea noastră. Pentru început, aș sfătui să goliți tabela cu utilizatori, deoarece acolo acum sunt stocate parolele în formă deschisă, iar ar trebui să fie stocate hash-urile lor. Apoi, la testarea înregistrării, tabela se va umple cu date în noul format.

Să corectăm acum înregistrarea noastră astfel încât la salvarea noului utilizator în bază să se adauge nu parola, ci hash-ul ei.

Modificarea descrisă va arăta cam așa:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // transformăm parola în hash-ul ei $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Să aplicăm modificări similare la autentificare:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // transformăm parola în hash-ul ei $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Introduceți modificări în înregistrare ținând cont de hashuire, înregistrați câțiva utilizatori noi, asigurați-vă că în baza de date au fost adăugați cu parolele hashuite.

Introduceți modificări în autentificare ținând cont de hashuire, încercați să vă autentificați sub utilizatorii înregistrați anterior.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge