⊗ppPmAuAHS 425 of 447 menu

Sout by autorisasie byvoeg

Nou moet ons die autorisasie verander. Hier sal die veranderinge meer aansienlik wees.

Dit sal nie meer moontlik wees om die korrektheid van die gebruikersnaam-wagwoord paar onmiddellik te kontroleer nie, met een navraag. Hoekom: omdat, om die wagwoord te kontroleer, moet ons die gesoute hash daarvan kry, en die sout word gestoor in die databasis en is uniek vir elke gebruikersnaam.

Ons sal eers die rekord net volgens die gebruikersnaam moet kry, die sout lees, die ingevoerde wagwoord sout en vergelyk met die gesoute wagwoord uit die databasis en slegs as hulle ooreenstem, - die gebruiker autoriseer.

Let daarop dat dit so kan wees dat die gebruikersnaam verkeerd ingevoer is, in hierdie geval kan die wagwoordkontrole nie uitgevoer word nie, maar kan ons dadelik sê dat autorisasie nie moontlik is nie - die data is verkeerd:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // daar is 'n gebruiker met so 'n gebruikersnaam, nou moet die wagwoord nagegaan word... } else { // daar is geen gebruiker met so 'n gebruikersnaam nie, wys 'n boodskap } ?>

Kom ons voeg wagwoordkontrole by:

<?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']; // sout uit DB $hash = $user['password']; // gesoute wagwoord uit DB $password = md5($salt . $_POST['password']); // gesoute wagwoord van gebruiker // Vergelyk die gesoute hasse if ($password == $hash) { // alles is reg, autoriseer... } else { // wagwoord pas nie, wys 'n boodskap } } else { // daar is geen gebruiker met so 'n gebruikersnaam nie, wys 'n boodskap } ?>

Vir veiligheidsredes word die gebruiker gewoonlik nie meegedeel wat presies nie gepas het nie - die gebruikersnaam of die wagwoord nie, om die raai van gebruikersnaam-wagwoord pare deur hackers te bemoeilik. Hulle wys net 'n boodskap dat die gebruikersnaam-wagwoord paar verkeerd is of iets in dié trant.

Implementeer die bogenoemde autorisasie met gesoute wagwoord. Probeer om te registreer, te autoriseer, maak seker dat alles werk.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp