⊗ppPmAuPCh 429 of 447 menu

Mengubah Kata Sandi dengan PHP

Mengubah kata sandi tidak bisa dilakukan begitu saja di akun pribadi. Masalahnya, pengguna mungkin meninggalkan komputernya tanpa pengawasan (misalnya, di kantor), dalam keadaan sudah login ke situs kita. Dalam kasus ini, jika kita mengizinkan perubahan kata sandi begitu saja, maka orang yang berniat jahat dapat mengubah kata sandi menjadi yang lain, yang tentu saja sangat buruk.

Perlu dibuat agar perubahan kata sandi menjadi yang baru memerlukan input kata sandi lama.

Mari kita implementasikan halaman changePassword.php, yang ketika diakses pengguna akan melihat formulir dengan dua input - di input pertama dia harus memasukkan kata sandi lamanya, dan di input kedua - kata sandi baru:

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

Ketika tombol submit ditekan, kita harus melakukan hal berikut:

<?php $id = $_SESSION['id']; // id user dari session $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // password yang di-hash dari database $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // Memeriksa kecocokan hash dari database dengan kata sandi lama yang dimasukkan 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 { // kata sandi lama dimasukkan dengan salah, tampilkan pesan } ?>

Implementasikan perubahan kata sandi yang telah dijelaskan.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak