⊗ppPmAuPCh 429 of 447 menu

Sprememba gesla v PHP

Sprememba gesla ni mogoča preprosto v osebnem računu. Bistvo je v tem, da lahko uporabnik pusti svoj računalnik brez nadzora (na primer v pisarni), medtem ko je prijavljen na našo spletno stran. V tem primeru, če dovolimo preprosto spreminjanje gesla, lahko zlonamernik-nevšečnež spremeni geslo v drugo, kar je seveda zelo slabo.

Potrebno je narediti tako, da sprememba gesla na novo zahteva vnos starega gesla.

Implementirajmo stran changePassword.php, ob obisku katere bo uporabnik videl obrazec z dvema vnosnima poljema - v prvo mora vnesti svoje staro geslo, v drugo pa novo:

<form action="" method="POST"> <input name="old_password"> <input name="new_password"> <input type="submit" name="submit"> </form>

Ob kliku na gumb za pošiljanje moramo narediti naslednje:

<?php $id = $_SESSION['id']; // id uporabnika iz seje $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // zgoščeno geslo iz baze podatkov $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Preverimo ujemanje zgoščene vrednosti iz baze z vnesenim starim geslom if (password_verify($oldPassword, $hash)) { $newPasswordHash = password_hash($newPassword, PASSWORD_DEFAULT); $query = "UPDATE users SET password='$newPasswordHash' WHERE id='$id'"; mysqli_query($link, $query); } else { // staro geslo je napačno, izpišemo sporočilo } ?>

Implementirajte opisano spremembo gesla.

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