السلام عليكم

رمضان كريم

اليوم كنت أعمل على نظام تسجيل دخول و اردت اضافة خاصية تذكر المستخدم له

أعتقد ان الطريقة المستخدمة هي: تخزين اسم المستخدم و كلمة المرور في الكويكز

لاكن اعتقد هذه الطريقة سيئة من ناحية الحماية! و سنقع في ثغرة سخيفة شبيهة بثغرة 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 , هل استخدام قواعد البيانات أفضل في حماية الكويكز ؟