⊗ppPmAuPCh 429 of 447 menu

Skift adgangskode på PHP

Man kan ikke bare skifte adgangskode i den personlige konto. Sagens kerne er, at brugeren måske efterlader sin computer uden opsyn (for eksempel på kontoret), mens de er logget ind på vores hjemmeside. I dette tilfælde, hvis man tillader blot at ændre adgangskoden, så vil en ondsindet person kunne ændre adgangskoden til en anden, hvilket selvfølgelig er meget dårligt.

Det er nødvendigt at gøre det sådan, at ændring af adgangskoden til en ny kræver indtastning af den gamle adgangskode.

Lad os implementere siden changePassword.php, hvor brugeren, når de besøger den, vil se en formular med to inputfelter - i den første skal de indtaste deres gamle adgangskode, og i den anden - den nye:

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

Ved tryk på afsendelsesknappen skal vi gøre følgende:

<?php $id = $_SESSION['id']; // brugerens id fra sessionen $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // salted adgangskode fra databasen $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Tjekker om hash fra databasen matcher den indtastede gamle adgangskode 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 { // den gamle adgangskode blev indtastet forkert, vis en besked } ?>

Implementer den beskrevne adgangskodeændring.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis