شرح صفوف ومحتوى الفقرة
قبل استدعاء session_start()، اضبط خصائص كوكيز الجلسة عبر دالة session_set_cookie_params() بتمرير مصفوفة خيارات ترابطية.
- يخفي الخيار
"httponly" => trueكوكيز الجلسة عن كائنdocument.cookieفي JavaScript، مما يمنع سرقتها عبر XSS. - يضمن الخيار
"secure" => trueعدم إرسال الكوكيز من المتصفح إلا عبر اتصالات HTTPS المشفرة. - يمنع الخيار
"samesite" => "Lax"أو"Strict"إرسال الكوكيز مع طلبات POST العابرة للمواقع.
تقبل دالة session_set_cookie_params() مصفوفة ترابطية واضحة، وتطبق هذه الأعلام الأمنية فور إرسال كوكيز الجلسة عبر session_start().
PHP
<?php
$cookieParams = [
'lifetime' => 0,
'path' => '/',
'domain' => '',
'secure' => true,
'httponly' => true,
'samesite' => 'Lax',
];
session_set_cookie_params($cookieParams);
$current = session_get_cookie_params();
echo "HttpOnly: " . ($current['httponly'] ? "true" : "false") . " | SameSite: " . $current['samesite'] . "\n";