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

Secure Logout and Session Reset تسجيل الخروج الآمن وإبطال الجلسة

بناء نظام تسجيل المستخدمين والتحقق من بيانات الدخول عبر Auth::attempt وتجديد معرف الجلسة لمنع الاختطاف وتسجيل الخروج الآمن.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

يتطلب تسجيل الخروج الآمن ثلاث خطوات مترابطة داخل إجراء متحكم من نوع POST: استدعاء Auth::logout، ثم إبطال الجلسة بالكامل عبر invalidate، وأخيراً تجديد رمز الحماية عبر regenerateToken. نفذ الخروج دائماً عبر نموذج POST محمي بتوجيه @csrf وليس عبر رابط GET عادي.

  • مسح هوية الحارس (Auth::logout): يزيل حالة المصادقة من الحارس ويلغي كوكي تذكرني إن وجد.
  • إبطال الجلسة (invalidate): يمسح كافة بيانات الجلسة المخزنة في الخادم ويغير معرفها.
  • تدوير رمز الحماية (regenerateToken): يجدد رمز CSRF لمنع إرسال أي نماذج قديمة مفتوحة في نوافذ أخرى.
PHP
public function destroy(Request $request)
{
    Auth::logout();
    $request->session()->invalidate();
    $request->session()->regenerateToken();
    return redirect('/');
}