انتقل إلى محتوى الدرس

Invalidating Sessions on Logout إبطال الجلسة الصحيح عند الخروج

أتقن إدارة الحالة في بروتوكول HTTP عبر الكوكيز والجلسات: آلية عمل Set-Cookie وحقل Cookie، والفرق بين الكوكيز المؤقتة والدائمة، وخصائص الأمان HttpOnly وSecure وSameSite وبادئة __Host-، وحماية الجلسات وإبطالها عند الخروج.
3 صفوف تعليمية
تكنولوجيا الويب
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

من الأخطاء الأمنية الخطيرة أن يكتفي زر «تسجيل الخروج» بمسح الكوكي من متصفح المستخدم فقط دون حذف سجل الجلسة من ذاكرة الخادم! فلو كان معرّف الجلسة قد تسرب مسبقاً، فسيظل صالحاً للاستخدام على الخادم رغم خروج المستخدم.

لذلك تتطلب عملية تسجيل الخروج الآمن عبر طلب تنفيذ خطوتين متلازمتين معاً:

  1. 1. إتلاف سجل الجلسة على الخادم فوراً: حذف بيانات الجلسة من ذاكرة الخادم () ليصبح المعرّف القديم ملغى نهائياً.
  2. 2. تصفير الكوكي في المتصفح: إرسال حقل الرأس بنفس المسار والنطاق مع قيمة فارغة و، مع إمكانية إضافة حقل الرأس الحديث .

جرّب المختبر التفاعلي الآتي لتتبع دورة حياة الجلسة الكاملة من تسجيل الدخول وتدوير المعرّف حتى الإبطال الكامل عند الخروج:

الصف 2 معاينة حية
الصف 3 كود برمجي
Shell
POST /logout HTTP/1.1
Host: www.closetag.com
Cookie: __Host-sid=auth_new_999

HTTP/1.1 303 See Other
Location: /login
Set-Cookie: __Host-sid=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Secure; HttpOnly; SameSite=Lax
Clear-Site-Data: "cookies"