السلام عليكم
رمضان كريم
اليوم كنت أعمل على نظام تسجيل دخول و اردت اضافة خاصية تذكر المستخدم له
أعتقد ان الطريقة المستخدمة هي: تخزين اسم المستخدم و كلمة المرور في الكويكز
لاكن اعتقد هذه الطريقة سيئة من ناحية الحماية! و سنقع في ثغرة سخيفة شبيهة بثغرة session hijacking
لذلك فكرت بطريقة اخرى استطيع فيها استعادة الجلسة السابقة من دون ان اخزن معلومات حساسة.
فأليكم ما فكرت به:
عندما يدخل المستخدم نقوم بتخزن الsession id في الكويكز
setcookie("remember_me", session_id(), time() + (86400*30), '/');
وعلى فرض اقفل المستخدم المتصفح و اعاد فتحه فسيتم تسجيل الخروج تلقائياً و يتغير الsession id الخاص به
و ولذلك نحن الآن سنعمل على إعادة الجلسة له لذلك سنقوم بستدعاء الكويكز الذي قمنا بحفظه بالكويكز و نستبدله بالsession id كالتالي:
setcookie(session_name(), $_COOKIE['remember_me'], 0, '/');
جربت الطريقة و نجحت عندي!
لكن انا لا اعرف إذا كانت الطريقة ناجحة .. ربما php تقوم بحذف الsession تلقائياً بعد مدة من نسيانها !
يرجى من الخبراء إخباري عن الطريقة هل ستكون ناجحة أم لا ..
و ما هي طرق حماية الكويكز في الphp , هل استخدام قواعد البيانات أفضل في حماية الكويكز ؟
التعليقات