⊗ppPmAuHs 423 of 447 menu

Хеширање лозинке у PHP-у

Чувати лозинку у отвореном облику - није исправно. Хакер-злонамерник може да добије приступ вашој бази података и украде лозинке.

Зато се обично корисничко име чува у отвореном облику, а лозинка се хешира специјалном функцијом md5, која параметром прима лозинку, а враћа њен хеш, по коме није могуће вратити ову исту лозинку.

Хајде, на пример, да нађемо хеш неке ниске:

<?php echo md5('12345'); // исписаће '827ccb0eea8a706c4c34a16891f84e7b' ?>

Сада је потребно да прерадимо нашу регистрацију и нашу ауторизацију. За почетак бих саветовао да очистите табелу са корисницима, јер се тамо тренутно чувају лозинке у отвореном облику, а треба да се чувају њихови хешеви. Затим ће се при тестирању регистрације табела попунити подацима у новом формату.

Хајде сада да исправимо нашу регистрацију тако да при чувању новог корисника у базу додајемо не лозинку, већ њен хеш.

Описана исправка ће представљати нешто овакво:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // претварамо лозинку у њен хеш $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Унесемо сличне исправке у ауторизацију:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // претварамо лозинку у њен хеш $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Унесите измене у регистрацију узимајући у обзир хеширање, региструјте пар нових корисника, уверите се да су се у базу података додали са хешираним лозинкама.

Унесите измене у ауторизацију узимајући у обзир хеширање, покушајте да се ауторизујете под раније регистрованим корисницима.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј