⊗ppPmAuAHS 425 of 447 menu

Shtimi i kripës në autorizim

Tani na duhet të ndryshojmë autorizimin. Këtu ndryshimet do të jenë më të rëndësishme.

Nuk do të jetë më e mundur të kontrollosh saktësinë e çiftit login-fjalëkalim menjëherë, me një kërkesë të vetme. Pse: sepse, për të kontrolluar fjalëkalimin, duhet të marrësh hash-in e tij të kripur, dhe kripa ruhet në bazën e të dhënave dhe është unike për çdo login.

Do të duhet që fillimisht të marrësh regjistrimin vetëm nga login-i, të lexosh kripën, ta kripësh fjalëkalimin e futur dhe ta krahasosh me fjalëkalimin e kripur nga baza dhe vetëm, nëse përputhen, - të autorizosh përdoruesit.

Kini parasysh se mund të ndodhë që login-i të jetë shkruar gabim, në këtë rast kontrollimi i fjalëkalimit nuk mund të kryhet, por menjëherë duhet të tregohet se autorizimi nuk është i mundur - të dhënat nuk janë të sakta:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // ka një përdorues me këtë login, tani duhet të kontrollohet fjalëkalimi... } else { // nuk ka përdorues me këtë login, do të shfaqim një mesazh } ?>

Le të shtojmë kontrollin e fjalëkalimit:

<?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']; // kripa nga DB $hash = $user['password']; // fjalëkalimi i kripur nga DB $password = md5($salt . $_POST['password']); // fjalëkalimi i kripur nga përdoruesi // Krahasojmë hash-et e kripur if ($password == $hash) { // gjithçka në rregull, autorizojmë... } else { // fjalëkalimi nuk përputhet, do të shfaqim një mesazh } } else { // nuk ka përdorues me këtë login, do të shfaqim një mesazh } ?>

Për arsye sigurie, përdoruesit zakonisht nuk i tregohet se çfarë saktësisht nuk përputhet - login-i apo fjalëkalimi, për ta ndërlikuar përpilimin e çifteve login-fjalëkalim nga hakerët. Thjesht shfaqet një mesazh se çifti login-fjalëkalim është i pasaktë ose diçka e tillë.

Implementoni autorizimin e përshkruar më sipër me fjalëkalim të kripur. Provoni të regjistroheni, autorizohuni, verifikoni që gjithçka funksionon.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo