PDA

View Full Version : خواندن پسورد md5 شده از دیتابیس



abbas3zaar
شنبه 15 اسفند 1394, 12:18 عصر
سلام. من در ثبت نام پسورد رو md5 میکنم و با موفقیت هش میشه و ذخیره میشه ولی موقع لاگین کردن چون پسورد هش شده اس نمیتونه بخونه. خوندن md5 چجوریه؟

abbas3zaar
شنبه 15 اسفند 1394, 14:12 عصر
خودم یافتم!

وقتی در فرم ورود کاربر رمزی رو وارد میکنه با کد زیر:


$password = md5($_POST['password']);

چیزی رو که وارد کرده بوده رو md5 میکنیم و میریزیم توی یک متغییر و مقدار md5 شده رو از دیتابیس select میکنیم :قلب:

us1234
شنبه 15 اسفند 1394, 15:28 عصر
خودم یافتم!

وقتی در فرم ورود کاربر رمزی رو وارد میکنه با کد زیر:


$password = md5($_POST['password']);

چیزی رو که وارد کرده بوده رو md5 میکنیم و میریزیم توی یک متغییر و مقدار md5 شده رو از دیتابیس select میکنیم :قلب:

مقدار هش شده را داخل سلکت قرار ندهید .
یک سلکت میزنید با نام کاربری ، پسورد هش شده داخل دیتابیس را با پسوردی که کاربر وارد کرده و هش کردید مقایسه کنید .

در روش شما اگر کاربر وجود نداشته باشد یا کاربر فعال نباشد و یا رمز اشتباه باشد همگی یک حالت در نظر گرفته میشود و آن هم احتمالا اشتباه بودن رمز ...

abbas3zaar
شنبه 15 اسفند 1394, 16:48 عصر
مقدار هش شده را داخل سلکت قرار ندهید .
یک سلکت میزنید با نام کاربری ، پسورد هش شده داخل دیتابیس را با پسوردی که کاربر وارد کرده و هش کردید مقایسه کنید .

در روش شما اگر کاربر وجود نداشته باشد یا کاربر فعال نباشد و یا رمز اشتباه باشد همگی یک حالت در نظر گرفته میشود و آن هم احتمالا اشتباه بودن رمز ...

این صفحه login.php منه:

الان این صفحه لاگین چی کم داره و کجاش باید تغییر کنه؟


<?php include "db.php"; ?>
<?php session_start(); ?>


<?php

if(isset($_POST['login'])){
$username = $_POST['username'];
$password = md5($_POST['password']);

$username = mysqli_real_escape_string($connection, $username);
$password = mysqli_real_escape_string($connection, $password);

$query = "SELECT * FROM users WHERE user_name = '{$username}' ";
$select_user_query = mysqli_query($connection, $query);

if(!$select_user_query) {
die("QUERY FAILED , " . mysqli_error($connection));
}

while($row = mysqli_fetch_array($select_user_query)){
$db_user_id = $row['user_id'];
$db_user_name = $row['user_name'];
$db_user_password = $row['user_password'];
$db_user_firstname = $row['user_firstname'];
$db_user_lastname= $row['user_lastname'];
$db_user_role = $row['user_role'];

}

if($username !== $db_user_name && $password !== $db_user_password){
header("Location: ../index.php");


} else if($username == $db_user_name && $password == $db_user_password) {
$_SESSION['username'] = $db_user_name;
$_SESSION['firstname'] = $db_user_firstname;
$_SESSION['lastname'] = $db_user_lastname;
$_SESSION['user_role'] = $db_user_role;

header("Location: ../admin2");

} else {
header("Location: ../index.php");

}


}

?>