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

Starting Authenticated Session Safely بدء جلسة المستخدم وتدوير المعرف فور الدخول

نفّذ نظام تسجيل دخول آمن والتحقق من الهوية وتجديد الجلسة وحراس حماية الصفحات وميزة تذكرني وتسجيل الخروج النظيف في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

فور التحقق من صحة بيانات الدخول، استدعِ 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";