Подтвердить что ты не робот

Установите HTTPOnly и закрепите файл cookie PHPSESSID в PHP

Какой рекомендуемый способ установить httponly и безопасные флаги в файле cookie PHPSESSID?

Я нашел http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly. Любые лучшие предложения?

спасибо

4b9b3361

Ответ 2

Мне не удалось установить защищенный флаг с session_set_cookie_params(...), поэтому я сделал, после session_start() установить cookie PHPSESSID, с setcookie(...). Окончательный параметр, true, делает файл cookie безопасным.

<?php  
session_start();  
$currentCookieParams = session_get_cookie_params();  
$sidvalue = session_id();  
setcookie(  
    'PHPSESSID',//name  
    $sidvalue,//value  
    0,//expires at end of session  
    $currentCookieParams['path'],//path  
    $currentCookieParams['domain'],//domain  
    true //secure  
);  
?>

Когда я проверил файл cookie PHPSESSID в Firefox, его свойство "Отправить для" было установлено только "Зашифрованные соединения", а его свойство "Истекает" было установлено "В конце сеанса".

Ответ 4

Я использую Apache httpd через HTTPS, установка session.cookie_httponly = 1 и session.cookie_secure = 1 работает для меня.

Ответ 5

Если вы используете Apache, попробуйте это на вашем .htaccess

php_value session.cookie_httponly 1