دسته بندی ها
10:49 1399/02/26

ریست کردن رمز عبور کاربران توسط خودشان

مشخصات سوال کننده :
کاربر : moein     امتیاز کاربر : 92     رتبه کاربر : 14
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2381
هوش مصنوعی

پاسخ هوش مصنوعی

برای پیاده سازی این ویژگی نیاز دارید که یک بخش برای ورودی رمز عبور جدید کاربر در فرم پروفایل خود اضافه کنید. در اینجا یک مثال ساده از نحوه انجام این کار را بررسی می کنیم.

ابتدا باید اطمینان حاصل کنید که وقتی ادمین رمز عبور کاربران را تغییر می کند، کاربر پس از ورود به فرم پروفایل خود، قادر به تنظیم رمز عبور جدید باشد.

در زیر یک مثال از فرم HTML برای این کار آورده شده است:

<form action="change_password.php" method="post">
    <label for="new_password">رمز عبور جدید:</label>
    <input type="password" id="new_password" name="new_password" required>
    
    <label for="confirm_password">تأیید رمز عبور:</label>
    <input type="password" id="confirm_password" name="confirm_password" required>
    
    <input type="submit" value="تغییر رمز عبور">
</form>

سپس در فایل `change_password.php`، شما باید کدی اضافه کنید که رمز عبور جدید را اعتبارسنجی کرده و در صورت صحیح بودن، آن را در دیتابیس ذخیره کند.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $new_password = $_POST['new_password'];
    $confirm_password = $_POST['confirm_password'];

    // بررسی اینکه آیا رمز عبور جدید و تأییدیه برابر هستند
    if ($new_password === $confirm_password) {
        // هش کردن رمز عبور جدید
        $hashed_password = password_hash($new_password, PASSWORD_DEFAULT);

        // ذخیره کردن رمز عبور در دیتابیس
        // فرض بر این است که شما قبلاً به دیتابیس متصل شده اید
        $user_id = $_SESSION['user_id']; // شناسه کاربر جاری
        $sql = "UPDATE users SET password = '$hashed_password' WHERE id = '$user_id'";
        
        if (mysqli_query($conn, $sql)) {
            echo "رمز عبور با موفقیت تغییر یافت.";
        } else {
            echo "خطا در تغییر رمز عبور: " . mysqli_error($conn);
        }
    } else {
        echo "رمز عبور جدید و تأییدیه مطابقت ندارند.";
    }
}
?>

توجه داشته باشید که برای افزایش امنیت، باید از روش های اعتبارسنجی و کنترل دسترسی مناسب استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : Crystalplanet1991 16:13 1399/05/02

دوست عزیز به راحتی توسط متد changepasswordasync مربوط به کلاس user manager میتوانید امکان تغییر رمز عبور را به کاربر بدهید

 

به این پاسخ امتیاز بدهید    ‎−1
امتیاز: 13 رتبه: 55
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود