⊗ppPmAuPCh 429 of 447 menu

Passwortänderung in PHP

Die Passwortänderung kann nicht einfach im persönlichen Bereich durchgeführt werden. Die Sache ist die, dass der Benutzer seinen Computer unbeaufsichtigt lassen könnte (zum Beispiel, im Büro), während er auf unserer Website angemeldet ist. In diesem Fall, wenn man einfach erlauben würde, das Passwort zu ändern, könnte ein böswilliger Angreifer das Passwort auf ein anderes ändern, was natürlich sehr schlecht ist.

Es ist notwendig, dass die Änderung des Passworts zu einem neuen die Eingabe des alten Passworts erfordert.

Lassen Sie uns die Seite changePassword.php implementieren. Wenn der Benutzer sie aufruft, sieht er ein Formular mit zwei Eingabefeldern - in das erste muss er sein altes Passwort eingeben, und in das zweite - das neue:

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

Beim Klick auf den Senden-Button müssen wir Folgendes tun:

<?php $id = $_SESSION['id']; // id des Users aus der Session $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // gehashtes Passwort aus der DB $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Wir prüfen die Übereinstimmung des Hashs aus der Datenbank mit dem eingegebenen alten Passwort 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 { // das alte Passwort wurde falsch eingegeben, wir geben eine Meldung aus } ?>

Implementieren Sie die beschriebene Passwortänderung.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen