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

Marat

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

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

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

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

AmdY

Пью пиво
Команда форума
Marat
а как по твоему работает сессия?
 

alexblade

Новичок
Файл сессии на сервере да и кука у клиента умирает согласно настройкам сервера /клиента. Дефолтное значение для сессии сейчас не помню но для куки 180 минут. Так что как я понимаю хоть пять раз закрывай но пока сессия /кука живы ты залогинен/засессен
 

Marat

Новичок
Файл сессии на сервере да и кука у клиента умирает согласно настройкам сервера /клиента. Дефолтное значение для сессии сейчас не помню но для куки 180 минут. Так что как я понимаю хоть пять раз закрывай но пока сессия /кука живы ты залогинен/засессен
интесно, почему же тогда в других браузерах (IE,FF,Opera) после закрытия браузера и нового запроса сценария, генерируется новая сессия?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Совершенно случайно, эта галочка не стоит ли?

screenshot.2.png
 

Marat

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

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

Marat

Новичок
Marat
а как по твоему работает сессия?

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

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

alexblade

Новичок
Почему я думаю никто не сможет ответить кроме тебя, не исключаю и баг хрома. Но найди файлы сессии на сервере найди куки проверь какой браузер куда пишет и что создает.
Сессия может и без кук быть построена
 

Marat

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

alexblade

Новичок
Ну я юзаю но вот на хроме не проверял :). Надо будет проверить

Так а что ты ожидаешь чтоб при открытии была новая сессия и например переменная из старой не была видна я правильно понял ?
 

Marat

Новичок

Marat

Новичок
Ну я юзаю но вот на хроме не проверял :). Надо будет проверить

Так а что ты ожидаешь чтоб при открытии была новая сессия и например переменная из старой не была видна я правильно понял ?
Да, все правильно. Стандартная авторизация, если галку нажал (остаться на сайте), то отправляю Cookie. Если нет, то - пока браузер не закрыл.
 

MiksIr

miksir@home:~$
А чо за вопрос? По приведенной вами (пардон) Gas ссылке и далее в трекер все написано. Это не баг, это фича связанная с режимом "восстанавливать все как было когда я открываю браузер".
Если вам мешает это - можете эту фичу отключить. Если вы смотрите на это с точки зрения разработчика, то надо искать какие-то хаки или просто ограничивать сессию по времени с последнего захода.
 

Marat

Новичок
Ребят, огромное спасибо. Прочел все что предложил - 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 сессии, как и должно быть.
 
Сверху