⊗ppPmAuHs 423 of 447 menu

Haszowanie haseł w PHP

Przechowywanie hasła w postaci otwartej jest niepoprawne. Haker-włamywacz może uzyskać dostęp do twojej bazy danych i ukraść hasła.

Dlatego zazwyczaj login jest przechowywany w postaci otwartej, a hasło jest haszowane specjalną funkcją md5, która przyjmuje hasło jako parametr, a zwraca jego hash, na podstawie którego nie można odtworzyć tego właśnie hasła.

Znajdźmy na przykład hash jakiegoś ciągu znaków:

<?php echo md5('12345'); // wyświetli '827ccb0eea8a706c4c34a16891f84e7b' ?>

Teraz musimy przerobić naszą rejestrację i naszą autoryzację. Na początek radziłbym wyczyścić tabelę z użytkownikami, ponieważ obecnie przechowywane są tam hasła w postaci otwartej, a powinny być przechowywane ich hashe. Następnie podczas testowania rejestracji tabela wypełni się danymi w nowym formacie.

Poprawmy teraz naszą rejestrację tak, aby podczas zapisywania nowego użytkownika do bazy dodawane było nie hasło, a jego hash.

Opisana poprawka będzie przedstawiać się mniej więcej tak:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // przekształcamy hasło na jego hash $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Wprowadźmy analogiczne poprawki w autoryzacji:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // przekształcamy hasło na jego hash $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Wprowadź zmiany w rejestracji z uwzględnieniem haszowania, zarejestruj kilku nowych użytkowników, upewnij się, że do bazy danych dodali się z zahaszowanymi hasłami.

Wprowadź zmiany w autoryzacji z uwzględnieniem haszowania, spróbuj zalogować się na wcześniej zarejestrowanych użytkownikach.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć