Файл cookie сеанса без установленного флага HttpOnly

Я только что создал сайт с системой входа в систему. После того как я'Я только что подготовился. Я отсканировал его с помощью Acunetix, но получил следующее сообщение:

Session Cookie без установленного флага HttpOnly Session Cookie без установленного безопасного флага (я полагаю, это только если у меня SSL-соединение)

Поэтому мой вопрос будет таким: как я могу установить флаг HttpOnly для всех моих данных сеанса? Я'Я просто использую сессии, когда я вхожу в систему пользователей. Я'я даю им сеанс с их идентификатором пользователя и чем яЯ получаю данные, используя этот идентификатор пользователя.

Есть ли какой-нибудь простой способ, которым я могу установить ВСЕ сеанса HTTPOnly и защитить их, чтобы никто не мог их коснуться?

Ответы на вопрос(3)

Решение Вопроса

ini_set() призывает изменитьsession.cookie_secure а такжеsession.cookie_httponly значения до.true

Вы также можете использоватьsession_set_cookie_params() перед началом сеанса, чтобы получить эффект, который вы ищете.

http://us3.php.net/manual/en/function.session-set-cookie-params.php

 user140607125 окт. 2012 г., 21:28
Спасибо. Но могу ли я использовать session.cookie_secure с доменом без SSL?
 user88779928 авг. 2013 г., 13:57
session.cookie_secure указывает, следует ли отправлять файлы cookie только через безопасные соединения. поэтому они будут отправлены только при использовании HTTPS (ссылка:php.net/manual/en/...)
 Mike Brant25 окт. 2012 г., 20:51
Да, вы должны пройти проверку безопасности, как только вы правильно установите оба значения ini (либо в php.ini, либо во время выполнения с помощью других упомянутых методов).
 Mike Brant25 окт. 2012 г., 21:06
Может случиться так, что ваша установка php не имеет этого явно установленного в ini (или вы смотрите на неправильный файл ini - как это в каталоге CLI в некоторых установках). Это значение доступно начиная с PHP 5.2.0, поэтому, даже если его нет в вашем INI-файле, вы можете добавить строку для него или просто изменить во время выполнения.
 user140607125 окт. 2012 г., 21:02
Я посмотрел мой php.ini на веб-сайте, но неt finf что-нибудь вроде session.cookie_httponly :( У меня версия 5.2, это нормально?
 Mike Brant26 окт. 2012 г., 02:18
Да, безопасные куки будут передаваться только от клиента браузера на сервер при использовании HTTPS. "
 user140607125 окт. 2012 г., 20:44
Если я установлю это в PHP.ini, это будет безопасно, и эта проблема будет решена этим?

Вы должны проверитьэтот отличный сайт на этот вопрос. Все сводится к настройке в секции session вашего php.ini (или через соответствующую функцию времени выполнения):

session.cookie_httponly = True

Вы также можете просто установитьhttponly флаг дляfalse когда вы используете PHP:setcookie

// params: name, value, expiration, path, domain, secure, http-only
setcookie('session-cookie-key', 'data', 0, '/', 'example.com', true, false);

Ваш ответ на вопрос