⊗ppPmAuPCh 429 of 447 menu

Byte av lösenord på PHP

Byte av lösenord kan inte bara göras i det personliga kontot. Saken är att användaren kan lämna sin dator utan uppsikt (till exempel, på kontoret), medan hen är inloggad på vår webbplats. I det här fallet, om man tillåter att bara byta lösenord, kan en illvillig obehörig byta lösenordet till ett annat, vilket, naturligtvis, är mycket dåligt.

Det är nödvändigt att se till att byte av lösenord till ett nytt kräver inmatning av det gamla lösenordet.

Låt oss implementera sidan changePassword.php, genom att gå in på vilken användaren kommer att se ett formulär med två inmatningsfält - i det första ska hen mata in sitt gamla lösenord, och i det andra - det nya:

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

Vid klick på skickaknappen måste vi göra följande:

<?php $id = $_SESSION['id']; // användarens id från sessionen $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // saltat lösenord från databasen $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Kontrollerar överensstämmelsen mellan hash från databasen och det inskrivna gamla lösenordet 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 { // det gamla lösenordet är felaktigt, visa ett meddelande } ?>

Implementera den beskrivna lösenordsbytet.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa