⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј