⊗ppPmAuPCh 429 of 447 menu

Cambio password in PHP

Il cambio password non può essere semplicemente fatto nell'area personale. Il fatto è che l'utente potrebbe lasciare il proprio computer incustodito (ad esempio, in ufficio), essendo autorizzato sul nostro sito. In questo caso, se si permettesse di cambiare semplicemente la password, un malintenzionato potrebbe cambiare la password con un'altra, cosa che, naturalmente, è molto negativa.

È necessario fare in modo che il cambio password con una nuova richieda l'inserimento della vecchia password.

Implementiamo la pagina changePassword.php, accedendo alla quale l'utente vedrà un modulo con due input - nel primo dovrà inserire la sua vecchia password, e nel secondo - la nuova:

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

Alla pressione del pulsante di invio dobbiamo fare quanto segue:

<?php $id = $_SESSION['id']; // id utente dalla sessione $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // password con hash dal database $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Verifichiamo la corrispondenza dell'hash dal database con la vecchia password inserita 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 { // la vecchia password è stata inserita in modo errato, visualizziamo un messaggio } ?>

Implementate il cambio password descritto.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta