⊗ppPmAuPCh 429 of 447 menu

Schimbarea parolei în PHP

Schimbarea parolei nu poate fi făcută simplu în contul personal. Problema este că utilizatorul își poate lăsa calculatorul fără supraveghere (de exemplu, la birou), fiind autorizat pe site-ul nostru. În acest caz, dacă am permite schimbarea simplă a parolei, atunci un infractor cu intenții rele ar putea schimba parola cu alta, ceea ce, desigur, este foarte rău.

Este necesar să facem astfel încât schimbarea parolei cu una nouă să necesite introducerea parolei vechi.

Să implementăm pagina changePassword.php, accesând care utilizatorul va vedea un formular cu două câmpuri de introducere - în primul trebuie să introducă parola veche, iar în al doilea - parola nouă:

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

La apăsarea butonului de trimitere trebuie să facem următoarele:

<?php $id = $_SESSION['id']; // id-ul utilizatorului din sesiune $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // parola hash-uită din BD $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Verificăm corespondența hash-ului din baza de date cu parola veche introdusă 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 { // parola veche a fost introdusă incorect, afișăm un mesaj } ?>

Implementați schimbarea parolei descrisă.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge