2015-09-11 3 views
4

Я бег HTTPS сайта и хотел бы, чтобы включить их в php.ini для повышения безопасности:Переключился бы на session.cookie_secure вывести моих пользователей?

session.cookie_httponly = 1 
session.cookie_secure = 1 

я мог бы найти много информации об этом в Интернете, но не в связи с сохранением старого идентификатор сеанса при включении.

Возможно, это приведет к автоматическому выходу пользователей из-за того, что php теперь ожидает наличия безопасных куки-файлов, но вошедшие в систему пользователи не имеют этих ... сразу после переключения?

ответ

0

Да, он выйдет из системы, потому что их сеанс закончится.

+1

Не могли бы вы рассказать об этом немного или перечислить ресурс? – Tieme

+1

У меня была конкретная проблема месяц назад. Поэтому я нашел это на жестком пути :) –

5

Анекдотично, я включил это для сотен веб-сайтов в моей карьере, которые использовали HTTPS, и никогда не заставляли его регистрировать всех.

Эти настройки .ini обычно применяются к новым файлам cookie сеанса, а флаг secure предназначен для браузеров, чтобы они не передавали HTTP. Он не должен иметь никаких ретроактивных последствий.

Код для session_start() вызывает функцию C, называемую php_session_start() которая (в большинстве случаев) checks $_COOKIE.

Код для обработки файлов cookie: SAPI-dependent, но не содержит никакой конкретной логики для «если secure не был установлен, отбросьте его сейчас, когда мы его ожидаем».

Запрет на какой-то странный код SAPI, который содержит эту логику, наиболее вероятно, что файлы cookie больше не отправляются на конечные точки HTTP, которые не имеют HTTPS, поэтому кажется, что пользователи выходят из системы (но только если они не являются используя HTTPS везде).

Короче:

  • Нет, это не пользователей выйти из системы, если они не не просматривают через HTTPS (что они должны делать)
  • Однако, если это является происходит , временное неудобство стоит выгоды безопасности.
+1

Просто чтобы подтвердить, эти флаги используются только в заголовке 'Set-Cookie', который отправляется в браузер. Заголовок указывает браузеру, как использовать файлы cookie в будущем (например, недоступен JS или небезопасный HTTP) ... когда дело доходит до отправки файлов cookie на сервер, браузер отправляет только имя и значение. Сервер не знает, что они были сохранены, и если сервер повторно отправляет файлы cookie (с этими флагами), браузер просто заменит старый файл cookie ... поэтому установка этих флагов не приведет к регистрации пользователей (если есть другие проблемы, например, использование HTTP) –

Смежные вопросы