⊗ppPmAuPCh 429 of 447 menu

Salasanan vaihto PHP:llä

Salasanan vaihtoa ei voi yksinkertaisesti tehdä henkilökohtaisessa tilissä. Asia on niin, että käyttäjä voi jättää tietokoneensa vailla huomiota (esimerkiksi toimistolla), ollessaan kirjautuneena sivustollemme. Tässä tilanteessa, jos sallii salasanan yksinkertaisen vaihtamisen, voi pahantahtoinen uhkaaja vaihtaa salasanan toiseen, mikä tietysti on erittäin huono asia.

On tarpeen tehdä niin, että salasanan vaihto uuteen edellyttää vanhan salasanan syöttämistä.

Toteutetaan sivu changePassword.php, jolle kirjautunut käyttäjä näkee lomakkeen kahdella kentällä - ensimmäiseen hänen tulee syöttää vanha salasansa, ja toiseen - uusi:

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

Lähetyspainiketta painettaessa meidän on tehtävä seuraavaa:

<?php $id = $_SESSION['id']; // käyttäjän id istunnosta $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // suolattu salasana tietokannasta $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Tarkistetaan tietokannan hashin vastaavuus syötettyyn vanhaan salasanaan 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 { // vanha salasana syötetty väärin, näytetään viesti } ?>

Toteuta kuvattu salasanan vaihto.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää