اذهب إلى المحتوى

السؤال

نشر

قمت بعمل صفحة php من خلالها ارغب بتحقق فقط من وجود هذا الباسورد في قاعدة البيانات ام لا 

ولكن لا اعلم ما هو الخطاء بتحديد ولكن حتى لو كان الرقم صحيح الان يرجى الى بيانات انه خطاء

<?php
include 'con.php';
 
 $json = file_get_contents('php://input');
 $_POST = json_decode($json,true);
 $pass =  '02cb962ac59075b964b07152d234b70';



$sql = "SELECT * FROM user WHERE pass=?"; // SQL with parameters
$stmt = $con->prepare($sql); 
$stmt->bind_param("s", $pass);
$stmt->execute();
$result = $stmt->get_result(); // get the mysqli result
$user = $result->fetch_assoc(); // fetch data   

if($user){
      $pass= '02cb962ac59075b964b07152d234b70';

 if (password_verify($pass, $user["pass"])) {
   
     $check['result'] = 'Login Matched';
     $SuccessMSG = json_encode($check);
     echo $SuccessMSG ; 
} else {
   $InvalidMSG= array("result"=>"Invalid Username or Pasfffffsword Please Try Again");
        $InvalidMSGJSon = json_encode($InvalidMSG);
         echo $InvalidMSGJSon ;
  }

}else{
     $InvalidMSG= array("result"=>"Invalid Username or Password Please Try Again");
        $InvalidMSGJSon = json_encode($InvalidMSG);
         echo $InvalidMSGJSon ;

}

 mysqli_close($con);
 

 
 
?>

 

هذا الكود المستعمل والرقم السري الان 123 قمت بمحاولات مختلفه لمعرفة المشكله

ياليت اذا احد يعرف سبب المشكله او الخطاء في الكود يفيدنا 

المتفرض احصل على نتيجة :

  $check['result'] = 'Login Matched';

 

Recommended Posts

  • 1
نشر

سوف تقوم بإرجاع قيمة حقل كلمة المرور وهي مشفرة و من ثم تدخل كلمة المرور وهي مثلا 123 إلى دالة md5 بهذا الشكل 

md5(123)

ثم يمكنك عمل شرط للتحقق من أن كلمة المرور المحفوظة في قاعدة البيانات تساوي كلمة المرور المدخلة بهذا الشكل 

if(md5(123) == $row['password']){
	//....
}

ملاحظ الكود توضيح.

لن تستعمل password_verify في عملية التحقق

  • 0
نشر
بتاريخ 6 دقائق مضت قال بلال زيادة:

سوف تقوم بإرجاع قيمة حقل كلمة المرور وهي مشفرة و من ثم تدخل كلمة المرور وهي مثلا 123 إلى دالة md5 بهذا الشكل 


md5(123)

ثم يمكنك عمل شرط للتحقق من أن كلمة المرور المحفوظة في قاعدة البيانات تساوي كلمة المرور المدخلة بهذا الشكل 


if(md5(123) == $row['password']){
	//....
}

ملاحظ الكود توضيح.

لن تستعمل password_verify في عملية التحقق

اهلا بك اخي الكريم

فعلا نجح الامر يعني المشكله كلها كانت في md5 

ما هو الفرق لو تكرمت الذي حدث بين password_verify و md5 ؟

  • 1
نشر
بتاريخ 12 دقائق مضت قال مروان مروان3:

اهلا بك اخي الكريم

فعلا نجح الامر يعني المشكله كلها كانت في md5 

ما هو الفرق لو تكرمت الذي حدث بين password_verify و md5 ؟

عندما نستخدم md5 في التشفير يجب أن نقوم بأستخدام نفس الدالة md5 لنقوم بالمقارنة , أما إذا قمنا باستخدام password_hash في التشفير فإننا نستخدم password_verify في المقارنة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...