⊗ppPmAuHs 423 of 447 menu

Hashovanie hesla v PHP

Ukladať heslo v otvorenej forme - je nesprávne. Hacker-zlomyseľník môže získať prístup k vašej databáze a ukradnúť heslá.

Preto sa zvyčajne login ukladá v otvorenej forme, a heslo sa hashuje špeciálnou funkciou md5, ktorá ako parameter prijíma heslo, a vracia jeho hash, podľa ktorého nie je možné obnoviť toto samotné heslo.

Nájdime napríklad hash nejakého reťazca:

<?php echo md5('12345'); // vypíše '827ccb0eea8a706c4c34a16891f84e7b' ?>

Teraz je potrebné, aby sme upravili našu registráciu a našu autorizáciu. Na začiatok by som odporúčal vyčistiť tabuľku s používateľmi, pretože tam momentálne sú uložené heslá v otvorenej forme, a mali by byť uložené ich hashe. Potom pri testovaní registrácie sa tabuľka naplní údajmi v novom formáte.

Upravme teraz našu registráciu tak, aby pri ukladaní nového používateľa do databázy sa pridalo nie heslo, ale jeho hash.

Opísaná úprava bude vyzerať asi nejak takto:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // pretransformujeme heslo na jeho hash $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Vykonajme podobné úpravy v autorizácii:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // pretransformujeme heslo na jeho hash $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Vykonajte zmeny v registrácii s ohľadom na hashovanie, zaregistrujte niekoľko nových používateľov, presvedčte sa, že do databázy sa pridali s hashovanými heslami.

Vykonajte zmeny v autorizácii s ohľadom na hashovanie, skúste sa autorizovať pod predtým zaregistrovanými používateľmi.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť