تخطَّ إلى المحتوى

password_verify()

التحقّق من كلمة المرور password_verify()

تقارن كلمة مرور مُدخَلة بـ hash مخزَّن سابقًا عبر password_hash، دون فك تشفير.

password_verify(password, hash) تستقبل كلمة المرور الخام المُدخَلة و الـ hash المخزَّن، وتُعيد true إن تطابقا. مقاومة لهجمات التوقيت (timing attacks) بحكم تصميمها.

لا تحاول استخراج أجزاء من الـ hash يدويًا أو "عكسه" — دائمًا مرّر النص الكامل الناتج من password_hash كما هو.

الصياغة

password_verify(string $password, string $hash): bool

📄 مثال

if (password_verify($_POST["password"], $user["password_hash"])) {
    echo "تسجيل الدخول ناجح";
} else {
    echo "بيانات الدخول غير صحيحة";
}

أهم النقاط

العنصرالوظيفة
$passwordكلمة المرور الخام المُدخَلة من المستخدم
$hashالنص الكامل الناتج من password_hash المخزَّن سابقًا

💡 نصائح عملية

  • اجعل رسالة الخطأ عامة (بريد أو كلمة مرور خاطئة) دون تحديد أيّهما، لتفادي تسريب معلومات للمهاجم

⚠️ أخطاء شائعة

  • محاولة "فك تشفير" الـ hash بدل استخدام password_verify
  • مقارنة كلمة المرور بـ hash قديم أُنشئ بـ md5()/sha1() بدل password_hash

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PHP الكامل بالعربي.