⊗ppPmAuPCh 429 of 447 menu

Endring av passord på PHP

Endring av passord kan ikke bare gjøres i den personlige kontoren. Saken er at brukeren kan forlate datamaskinen uten tilsyn (for eksempel, på kontoret), mens han er autorisert på vår nettsted. I dette tilfellet, hvis du tillater enkelt endre passord, kan en ondsinnet skurk endre passordet til et annet, noe som selvfølgelig er veldig dårlig.

Det er nødvendig å gjøre det slik at endring av passord til et nytt krevde inntasting av det gamle passordet.

La oss implementere siden changePassword.php, ved å gå inn på som brukeren vil se et skjema med to inndata - i den første må han skrive inn sitt gamle passord, og i den andre - det nye:

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

Ved å trykke på sendeknappen må vi gjøre følgende:

<?php $id = $_SESSION['id']; // brukerens id fra sesjonen $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // saltet passord fra databasen $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Sjekker samsvar mellom hash fra databasen og innskrevet gammelt passord 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 { // gammelt passord er feil innskrevet, vis melding } ?>

Implementer den beskrevne endringen av passord.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis