Страница 1 из 1

Время жизни сессии

Добавлено: 2016.12.20, 09:27
Otor
Насколько я понял в данный момент механизм сессии в yii работает так, что время жизни сессионных данных считается от последнего изменения этих данных, и php автоматически меняет время изменения при каждом обращении к сессии, т.е. данные не очищаются пока они используются. Но при этом cookie с id сессии никак не меняется, т.е. получается, что когда умрет cookie сессионные данные могут еще жить и если требуется продление сессии при активности, нужно вручную перезаписывать cookie. Соответственно есть вопрос, может есть смысл добавить обновление cookie при каждом обращении к сессии в yii\web\Session?

Re: Время жизни сессии

Добавлено: 2017.01.03, 10:32
rkk
Коммент немного, не в тему, я еще сам не разобрался как работают сессии. Может знающие люди объяснят.
Я ставил себе модуль файлового менеджера, какой к сожалению уже не помню. Когда я на него переходил, у меня слетали права доступа, мне приходилось заново авторизироваться, покопавшись немного я заметил, что у меня менялась сессия (id session) при этом модуль был в рамках одного проекта, url сайта при переходе на файловый менеджер не менялся (т.е. Оставался http://yii_test.local/...). Но когда я закрывал файловый менеджер у меня восстанавливалась предыдущая сессия (id сессии и все данные). Получается сессия хранится в базе достаточно длительное время (у меня было около суток) и ее можно вытащить от туда зная id.
Понимаю это по сути не о чем, но возможно натолкнет вас куда копать дальше.

Re: Время жизни сессии

Добавлено: 2017.02.02, 08:43
Nex-Otaku
Otor, куки как раз и используется для установки приадлежности сессии. "Ага, у пользователя указан такой-то ID сессии в куках, вот ему эта сессия".

Если пользователь "потерял" куки, то никакой возможности установить, какая сессия ему нужна, нет. По крайней мере, стандартными средствами.

Поэтому и "обновлять куки" не имеет смысла - если сессионного куки нет, то всё, пользователь считается новым, ему выдаётся новая "чистая" сессия и новые куки.