Google Chrome, не "убивает" сессию после закрытия, google chrome, $_SESSION, сессии хром

  • Автор темы Автор темы Marat
  • Дата начала Дата начала

Marat

Новичок
Всем привет.

Все браузеры (Firefox, Opera и даже IE9), после закрытия закрывают текущую сессию и при следующем открытии заводят новую сессию. А Google Chrome нет.

После закрытия сессия открывается та же, даже после перезагрузки сервера...

Для чего это нужно:
у меня классическая авторизация, сессии + cookie. Если нет записи в сессии, проверяется cookie...
Проблема в том, что в случае с Google Chrome, мои cookie становятся бесполезными, т.к. сессия всегда открыта, на сайт можно заходить вечно!
 
Marat
а как по твоему работает сессия?
 
Файл сессии на сервере да и кука у клиента умирает согласно настройкам сервера /клиента. Дефолтное значение для сессии сейчас не помню но для куки 180 минут. Так что как я понимаю хоть пять раз закрывай но пока сессия /кука живы ты залогинен/засессен
 
Файл сессии на сервере да и кука у клиента умирает согласно настройкам сервера /клиента. Дефолтное значение для сессии сейчас не помню но для куки 180 минут. Так что как я понимаю хоть пять раз закрывай но пока сессия /кука живы ты залогинен/засессен

интесно, почему же тогда в других браузерах (IE,FF,Opera) после закрытия браузера и нового запроса сценария, генерируется новая сессия?
 
Совершенно случайно, эта галочка не стоит ли?

screenshot.2.png
 
Совершенно случайно, эта галочка не стоит ли?

Посмотреть вложение 649

Не стоит :)
А вообще, после перезагрузки сервера-клиента (localhost), ничего не меняется. Google Chrome восстанавливает ID сессии и все тут.
замечу: во всех остальных браузерах сессии нормально после закрытия генерятся...
 
Marat
а как по твоему работает сессия?


Ну если быстренько,

При запросе сценария php (session_start() регистрируем сессию), сервер отправляет Cookie с ID сессии (ID генерируется с учетом информации присланной в заголовках, может времени...), соответственно браузер при обращении к другим сценариям (того же домена) будет отправлять эту Cookie -> сервер проверяет ID и если совпадает, тогда не меняет ID сессии.
 
Почему я думаю никто не сможет ответить кроме тебя, не исключаю и баг хрома. Но найди файлы сессии на сервере найди куки проверь какой браузер куда пишет и что создает.
Сессия может и без кук быть построена
 
Почему я думаю никто не сможет ответить кроме тебя, не исключаю и баг хрома. Но найди файлы сессии на сервере найди куки проверь какой браузер куда пишет и что создает.

Разве никто не сталкивался с этим? Вообще кто-нибудь сессии юзает? :)
 
Ну я юзаю но вот на хроме не проверял :). Надо будет проверить

Так а что ты ожидаешь чтоб при открытии была новая сессия и например переменная из старой не была видна я правильно понял ?
 
Ну я юзаю но вот на хроме не проверял :). Надо будет проверить

Так а что ты ожидаешь чтоб при открытии была новая сессия и например переменная из старой не была видна я правильно понял ?
Да, все правильно. Стандартная авторизация, если галку нажал (остаться на сайте), то отправляю Cookie. Если нет, то - пока браузер не закрыл.
 
А чо за вопрос? По приведенной вами (пардон) Gas ссылке и далее в трекер все написано. Это не баг, это фича связанная с режимом "восстанавливать все как было когда я открываю браузер".
Если вам мешает это - можете эту фичу отключить. Если вы смотрите на это с точки зрения разработчика, то надо искать какие-то хаки или просто ограничивать сессию по времени с последнего захода.
 
Ребят, огромное спасибо. Прочел все что предложил - Gas.
Итог: Это не БАГ Google Chrome, просто, если в настройках (Chrome) стоит радиокнопка "Continue where I left off", то ID сессии (session cookie) сохраняется в файлах chrome, а при новом открытии восстанавливается.
В базовом режиме (т.е. с радиокнопкой "Open the new tab page" или "Open a specific page or set of pages") после закрытия браузера выдается новый ID сессии, как и должно быть.
 
Сверху