شرح صفوف ومحتوى الفقرة
فور نجاح التحقق عبر Auth::attempt، يجب استدعاء دالة $request->session->regenerate لتوليد معرف جلسة جديد تماماً مع الاحتفاظ بالبيانات الحالية. يمنع هذا الإجراء هجمات تثبيت الجلسة Session Fixation التي يحاول فيها المهاجم فرض معرف جلسة معروف مسبقاً على الضحية.
- تجديد معرف الجلسة (regenerate): يصدر معرف جلسة جديداً فور ترقية حالة الزائر إلى مستخدم مسجل.
- التوجيه لصفحة المقصد (intended Redirect): يعيد المستخدم تلقائياً إلى الصفحة المحمية التي حاول زيارتها قبل مطالبته بالدخول.
- المسار الاحتياطي (Fallback Route): مرر مسار لوحة التحكم كقيمة افتراضية لدالة intended في حال الدخول المباشر.
PHP
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('/dashboard');
}
return back()->withErrors(['email' => 'Invalid credentials.'])