পিএইচপি-তে পাসওয়ার্ড পরিবর্তন
পাসওয়ার্ড পরিবর্তন কেবল ব্যক্তিগত অ্যাকাউন্টে করা যায় না। ব্যাপারটি হল, ব্যবহারকারী আমাদের ওয়েবসাইটে লগ ইন অবস্থায় তার কম্পিউটার নজরবিহীন রাখতে পারেন (উদাহরণস্বরূপ, অফিসে)। এই ক্ষেত্রে, যদি শুধু পাসওয়ার্ড পরিবর্তন করার অনুমতি দেওয়া হয়, তবে একজন দূষিত ব্যক্তি বা অপছন্দনীয় ব্যক্তি পাসওয়ার্ডটি অন্য একটি পাসওয়ার্ডে পরিবর্তন করতে সক্ষম হবে, যা অবশ্যই খুবই খারাপ।
এটি এমনভাবে করতে হবে যাতে নতুন পাসওয়ার্ডে পরিবর্তন পুরানো পাসওয়ার্ড প্রবেশের প্রয়োজন হয়।
আসুন changePassword.php পৃষ্ঠাটি বাস্তবায়ন করি,
যেখানে গিয়ে ব্যবহারকারী একটি ফর্ম
দুইটি ইনপুট ক্ষেত্র সহ দেখতে পাবেন - প্রথমটিতে তাকে
তার পুরানো পাসওয়ার্ড লিখতে হবে, এবং দ্বিতীয়টিতে - নতুন পাসওয়ার্ড:
<form action="" method="POST">
<input name="old_password">
<input name="new_password">
<input type="submit" name="submit">
</form>
সাবমিট বাটনে ক্লিক করলে আমাদের নিম্নলিখিত কাজগুলি করতে হবে:
<?php
$id = $_SESSION['id']; // সেশন থেকে ব্যবহারকারীর আইডি
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
$hash = $user['password']; // ডাটাবেস থেকে সল্ট করা পাসওয়ার্ড
$oldPassword = $_POST['old_password'];
$newPassword = $_POST['new_password'];
// ডাটাবেসের হ্যাশের সাথে প্রবেশ করা পুরানো পাসওয়ার্ডের মিল পরীক্ষা করুন
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 {
// পুরানো পাসওয়ার্ড ভুলভাবে প্রবেশ করানো হয়েছে, একটি বার্তা দেখান
}
?>
বর্ণিত পাসওয়ার্ড পরিবর্তন বাস্তবায়ন করুন।