ذخیره رمز عبور در دیتا بیس

jalaladdin

Active Member
برای فرم ثبت نام این کد را نوشتم و همچنین برای اینکه رمز عبور بصورت رمزی در پایگاه داده ذخیره شود
قبل از پسورد md5 گذاشتم اما وقتی در فرم لاگین نام کاربری و پسورد را وارد میکنم با این پیام که نام کاربری وکلمه عبور اشتباه است مواجه میشوم

اگر این md5 را بردارم مشکل حل میشه اما من میخوام رمز عبور بصورت رمزی در دیتابیس ذخیره بشه
لطفا راهنمای کنید
PHP:
 <?php


$con=mysql_pconnect("localhost","root","");
if(!$con)
{die('could not connect');}
mysql_select_db("register",$con);
$sql = "SELECT count(*) FROM users WHERE username = '{$_POST[username]}'";

$result = mysql_query($sql);

$e=mysql_query($sql);
$rec = mysql_fetch_array($result);


if($rec[0]!=0){
   
   echo "<meta http-equiv='refresh'  content='0; URL=register.html'>"; exit();
}


$sql = "SELECT count(*) FROM users WHERE email = '{$_POST[email]}'";
$result = mysql_query($sql);
$e=mysql_query($sql);
$re = mysql_fetch_array($e);
if($re[0]!=0){
   
   echo "<meta http-equiv='refresh'  content='0; URL=register.html'>"; exit();
}

else{
$sql="insert into users(username,email,password,repassword)
values('$_POST[username]',md5('$_POST[password]'),md5('$_POST[repassword]'))";
 
 

 $result = mysql_query($sql);
     
     if($result)
     {
         echo mysql_affected_rows().'<b> عضویت شما با موفقیت انجام شد </b>';
     }
         
         
     mysql_close($con);            


}
?>
 

Milad

Well-Known Member
موقع چك كردن ، پسوردي كه كاربر وارد ميكنه رو با md5 كد ميكني ؟
 

sharktech

کاربر فعال
اینکه فقط صفحه ثبت نام هست !

اگه شما می خواین که رمزتون رو به صورت هش شده در دیتابیس ذخیره کنید باید در صفحه ورود هم رمز کاربر رو بصورت هش شده با دیتابیس چک کنید.

شما این کار رو کردین ؟!
 

jalaladdin

Active Member
من فقط در فرم ثبت نام یعنی کد عضویت قبل از رمز عبور md5 گذاشتم چگونه میتوانم در صفحه ورود رمز کاربر رو بصورت هش شده با دیتابیس چک کرد در این مورد بیشتر توضیح دهید
ممنون
 
PHP:
$username = $_POST['username'];
$pass     = md5($_POST['password']);
mysql_query("SELECT * FROM `user` WHERE `username`='$username' AND `password`='$pass';");
.
.
.
 
آخرین ویرایش:

sajadmaz

Member
ترجیحا چک کردن پسورد رو بدست کوئری ندیم بدلایل امنیتی خیلی بهتره

PHP:
$username = $_POST['username'];
$pass     = md5($_POST['password']);
mysql_query("SELECT `user`,`password`  FROM `user` WHERE `username`='$username'");
 

alireza82

Well-Known Member
ترجیحا چک کردن پسورد رو بدست کوئری ندیم بدلایل امنیتی خیلی بهتره

PHP:
$username = $_POST['username'];
$pass     = md5($_POST['password']);
mysql_query("SELECT `user`,`password`  FROM `user` WHERE `username`='$username'");

سلام
اگر می خواید مشکل امنیتی رو حل کنید ربطی به این چیزی که نوشتی نداره! شما باید ورودی های کاربر رو safe کنی
دوست من مثل کد زیر
PHP:
$q=sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string(md5($password)));

if(mysql_num_rows(mysql_query($q){
logone sjod
}else{
user valid nist
}
برای کلمه عبور با توجه به هش شدن میشه mysql_real_escape_string استفاده نکرد
موفق باشید
 

جدیدترین ارسال ها

بالا