⊗ppPmAuAHS 425 of 447 menu

Dodajanje soli v avtorizacijo

Sedaj moramo spremeniti avtorizacijo. Tukaj bodo spremembe bolj bistvene.

Ne bo več mogoče takoj preveriti pravilnost para uporabniško ime-geslo z enim samim poizvedbo. Zakaj: ker, da bi preverili geslo, moramo pridobiti njegov zgoščenec s soljo, sol pa je shranjena v podatkovni bazi in je edinstvena za vsako uporabniško ime.

Najprej bomo morali pridobiti zapis samo po uporabniškem imenu, prebrati sol, dodati sol vnesenemu geslu in primerjati z zgoščenim geslom iz baze in šele, če se ujemata, - avtorizirati uporabnika.

Upoštevajte, da se lahko zgodi, da je uporabniško ime vneseno napačno, v tem primeru preverjanja gesla ni potrebno izvajati, lahko takoj izpišemo, da avtorizacija ni mogoča - podatki niso pravilni:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // uporabnik s takšnim uporabniškim imenom obstaja, zdaj je treba preveriti geslo... } else { // uporabnik s takšnim uporabniškim imenom ne obstaja, izpišemo sporočilo } ?>

Dodajmo preverjanje gesla:

<?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']; // sol iz podatkovne baze $hash = $user['password']; // zgoščeno geslo s soljo iz podatkovne baze $password = md5($salt . $_POST['password']); // zgoščeno geslo s soljo od uporabnika // Primerjamo zgoščenca s soljo if ($password == $hash) { // vse je v redu, avtoriziramo... } else { // geslo se ni ujemalo, izpišemo sporočilo } } else { // uporabnik s takšnim uporabniškim imenom ne obstaja, izpišemo sporočilo } ?>

Zaradi varnosti uporabniku običajno ne sporočijo, kaj točno ni bilo pravilno - uporabniško ime ali geslo, da bi otežili iskanje parov uporabniško ime-geslo s strani hekerjev. Preprosto izpišejo sporočilo, da par uporabniško ime-geslo ni pravilen ali kaj podobnega.

Implementirajte zgoraj opisano avtorizacijo z geslom s soljo. Poskusite se registrirati, avtorizirajte se, prepričajte se, da vse deluje.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni