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

Session ID Regeneration and Security تجديد معرف الجلسة وحماية الأمان

تخزين واسترجاع وحذف بيانات جلسة المستخدم عبر الطلبات وعرض إشعارات الحالة المؤقتة عبر Flash Data وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

لحماية التطبيق من هجمات تثبيت الجلسة Session Fixation عند تغير صلاحيات المستخدم، يجب توليد معرف جلسة جديد عبر دالة regenerate. وعند إنهاء الجلسة بالكامل، تُستدعى دالة invalidate التي تمسح كافة البيانات وتولد معرفاً جديداً في خطوة واحدة.

  • تجديد المعرف مع بقاء البيانات (regenerate): يولد معرفاً عشوائياً جديداً للجلسة مع الاحتفاظ بالبيانات الحالية.
  • إبطال الجلسة بالكامل (invalidate): يفرغ جميع بيانات الجلسة ويغير معرفها في عملية واحدة آمنة.
  • صد هجمات تثبيت الجلسة (Fixation Defense): يمنع المهاجم من استغلال معرف جلسة قديم بعد تغير حالة المستخدم.
PHP
<?php
use Illuminate\Http\Request;

public function resetSession(Request $request)
{
    $request->session()->invalidate();
    return to_route('home');
}