شرح صفوف ومحتوى الفقرة
فور التحقق من صحة بيانات الدخول، استدعِ session_regenerate_id(true) قبل تخزين $_SESSION["user_id"] لإبطال أي محاولة لتثبيت الجلسة.
- تمرير المعامل
trueيحذف ملف الجلسة القديم من الخادم ويصدر معرف جلسة جديداً تماماً. - خزّن فقط المعرفات الأساسية مثل
user_idوuser_roleووقت الدخول في$_SESSION. - لا تخزن أبداً تجزئة كلمة المرور داخل مصفوفة
$_SESSION.
تحفظ الجلسة معرف المستخدم الرقمي، وصلاحيته، والطابع الزمني لتسجيل الدخول.
PHP
<?php
$_SESSION = [];
$authenticatedId = 42;
$role = 'admin';
$_SESSION['user_id'] = $authenticatedId;
$_SESSION['user_role'] = $role;
$_SESSION['auth_time'] = 1762512000;
echo "Session bound to User #{$authenticatedId} ({$role})\n";