⊗ppPmAuAHS 425 of 447 menu

Só hozzáadása az autorizációhoz

Most meg kell változtatnunk az autorizációt. Itt már jelentősebbek lesznek a változások.

Már nem lesz lehetőség azonnal, egy lekérdezéssel ellenőrizni a bejelentkezési adatok helyességét. Miért: mert a jelszó ellenőrzéséhez meg kell kapnunk a sózott hash-ét, a só pedig az adatbázisban van tárolva és egyedi minden felhasználónévhez.

Először csak a felhasználónév alapján kell lekérnünk a rekordot, elolvasni a sót, megsózni a beírt jelszót és összehasonlítani az adatbázisból származó sózott jelszóval, és csak akkor, ha ezek egyeznek, - autorizálni a felhasználót.

Vegyük figyelembe, hogy előfordulhat, hogy a felhasználónevet nem jól írták be, ebben az esetben a jelszó ellenőrzése nem végezhető el, hanem azonnal ki lehet jelezni, hogy az autorizáció nem lehetséges - az adatok helytelenek:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // van ilyen felhasználónévvel felhasználó, most ellenőrizni kell a jelszót... } else { // nincs ilyen felhasználónévvel felhasználó, kiírjuk az üzenetet } ?>

Adjunk hozzá jelszó ellenőrzést:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $salt = $user['salt']; // só az adatbázisból $hash = $user['password']; // sózott jelszó az adatbázisból $password = md5($salt . $_POST['password']); // a felhasználó sózott jelszava // Összehasonlítjuk a sózott hash-eket if ($password == $hash) { // minden rendben, autorizálunk... } else { // a jelszó nem megfelelő, kiírjuk az üzenetet } } else { // nincs ilyen felhasználónévvel felhasználó, kiírjuk az üzenetet } ?>

Biztonsági okokból a felhasználónak általában nem közlik, hogy pontosan mi nem stimmel - a felhasználónév vagy a jelszó, hogy megnehezítsék a felhasználónév-jelszó páros kitalálását a hackerektől. Egyszerűen kiírják, hogy a felhasználónév-jelszó páros helytelen, vagy valami hasonlót.

Valósítsa meg a fent leírt sózott jelszós autorizációt. Próbáljon meg regisztrálni, bejelentkezni, győződjön meg róla, hogy minden működik.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás