
تخزين كلمات المرور في PHP: تحقق دون حفظ النص الأصلي
النظام لا يحتاج معرفة كلمة مرور المستخدم بعد التسجيل؛ يحتاج التحقق من أن ما كتبه لاحقًا يطابقها. حفظ النص الأصلي أو تشفير قابل للعكس لأغراض الدخول يزيد…
النظام لا يحتاج معرفة كلمة مرور المستخدم بعد التسجيل؛ يحتاج التحقق من أن ما كتبه لاحقًا يطابقها. حفظ النص الأصلي أو تشفير قابل للعكس لأغراض الدخول يزيد أثر كشف قاعدة البيانات.
استخدم أدوات التجزئة المناسبة
اعتمد دوال تخزين كلمات المرور والتحقق المتخصصة مثل password_hash وpassword_verify، وراجع الخوارزمية والإعدادات المدعومة في بيئتك. لا تستخدم دالة تجزئة عامة سريعة وحدها، ولا تبنِ خوارزمية خاصة. التخزين الآمن جزء من حماية الحساب وليس بديلًا عن التحكم في المحاولات.
صمم الاستعادة بدل عرض الكلمة
إذا نسي المستخدم كلمة المرور، نفذ إجراء إعادة تعيين برمز مناسب محدود الصلاحية والاستخدام. لا ترسل الكلمة القديمة في البريد ولا تظهرها للموظف. راجع رسائل النتيجة حتى لا تكشف وجود الحساب بلا حاجة.
مثال مراجعة التطبيق
سجل حسابًا تجريبيًا وافحص أن قاعدة البيانات تحتوي قيمة تجزئة وليست كلمة المرور. اختبر كلمة صحيحة وخاطئة وإعادة تعيين، وتأكد من عدم ظهور القيمة في سجل الأخطاء أو الاستجابة أو ملف تصدير عام.
- احمِ ملفات الاتصال والنسخ الاحتياطية.
- راجع صلاحيات الموظفين الذين يديرون الحسابات.
- طبق سياسة مناسبة لمحاولات الدخول.
- اختبر صلاحية الرابط بعد استخدامه.
توضح إرشادات تخزين كلمات المرور في OWASP مبادئ الاختيار، بينما يوفر دليل PHP تفاصيل الدالة المستخدمة.

▢ التعليقات (0)