شرح صفوف ومحتوى الفقرة
اجمع إعدادات بدء الجلسة الآمنة في دالة تهيئة مركزية واحدة، وراجع جدول الإعدادات القياسية لتأمين الجلسات في PHP.
- فعّل
session.use_strict_modeوsession.use_only_cookiesقبل كل استدعاء لـsession_start(). - اضبط الأعلام
httponlyوsecureوsamesite => "Lax"عبرsession_set_cookie_params(). - استدعِ
session_regenerate_id(true)عند تسجيل الدخول، وافرض فحص انتهاء الصلاحية عند الخمول.
يضمن تغليف إعدادات الجلسة في دالة موحدة تطبيق نفس معايير الأمان عبر جميع صفحات ومسارات التطبيق.
| الإعداد / الدالة | القيمة الموصى بها | الدور الأمني |
|---|---|---|
session.use_strict_mode | 1 | Rejects uninitialized session IDs (anti-fixation) |
session.use_only_cookies | 1 | Forbids session IDs in URL query strings |
cookie_httponly | true | Blocks JavaScript document.cookie access |
cookie_secure | true | Sends cookie only over encrypted HTTPS |
cookie_samesite | "Lax" or "Strict" | Blocks cross-site POST cookie attachment |
session_regenerate_id(true) | On login / privilege change | Replaces session ID and deletes old file |
PHP
<?php
function buildSecureSessionConfig(bool $isHttps): array {
return [
'strict_mode' => true,
'httponly' => true,
'secure' => $isHttps,
'samesite' => 'Lax',
'idle_ttl' => 1800,
];
}
$cfg = buildSecureSessionConfig(true);
echo "SameSite=" . $cfg['samesite'] . " | IdleTTL=" . $cfg['idle_ttl'] . "s\n";
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
اجمع إعدادات بدء الجلسة الآمنة في دالة تهيئة مركزية واحدة، وراجع جدول الإعدادات القياسية لتأمين الجلسات في PHP. فعّل session.use_strict_mode وsession.use_only_cookies قبل كل استدعاء لـ session_start(). اضبط الأعلام httponly وsecure وsamesite => "Lax" عبر session_set_cookie_params(). استدعِ session_regenerate_id(true) عند تسجيل الدخول، وافرض فحص انتهاء الصلاحية عند الخمول.