Intereting Posts
Опасные функции php Графическая диаграмма PHPExcel вызывает нечитаемое содержимое и диаграмму удалены urlManager не работает в Yii 2.0 MySql – Как выбрать диапазон идентификаторов с установленными интервалами CodeIgniter – проверка пустого значения Почему Laravel Sessions терпит неудачу только в Safari и IE после переключения сервера? Facebook SDK для ошибки PHP – CurlException: 35: ошибка: 14094410: SSL-процедуры: SSL3_READ_BYTES: sslv3 отказ от рукопожатия обрезать строку запроса url с .htaccess Zend Framework 2 – ZFCUser – Как исключить целевую страницу из auth Нужна помощь в подключении моего PHP-модуля приложений к моей базе данных Google Cloud SQL PHP – Множество функций uasort разбивает сортировку APNS PHP JSON Структура полезной нагрузки Magento – добавить пользовательское массовое действие PDF получить первое ненулевое значение из массива php Новый API-интерфейс parse.com php – currentUser не возвращает пользователя

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

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

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

благодаря

На мой взгляд, лучшим было бы: http://www.php.net/manual/en/function.session-set-cookie-params.php

 void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] ) 

Мне не удалось получить безопасный флаг, работающий с session_set_cookie_params(...) , поэтому я сделал это после того, как session_start() установил cookie PHPSESSID, я setcookie(...) его с помощью 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, его свойство «Отправить для» было установлено только «Зашифрованные подключения», а для свойства «Истекает» было установлено значение «В конце сеанса».

 ini_set('session.cookie_httponly', 1); 

больше информации здесь, в документах PHP

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

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

 php_value session.cookie_httponly 1