![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
elCreator |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 21.7.2007 Репутация: нет Всего: -1 |
Каким образом можно продлевать сессию пользователя при его заходе на сайт?
Допустим, установлено у меня session.gc_maxlifetime в 86400, что соответствует суткам после создания сессии. Пользователь зашел, скажем, 1 мая в 16:00, нужные данные в сессию записались. 2 мая он заходит в 15:55, и проводит на сайте 10 минут. На 5-й минуте, в 16:00 его сессия истекает, чего допускать нельзя. Хотелось бы, чтобы его сессия при заходе в 15:55 получила еще сутки жизни. Вариант установки большего время истечения сессии не подходит из-за накапливания мусора в папке с сессиями. Есть ли варианты кроме установки большого времени с периодической очисткой папки с файлами сессий скриптом по крону с учетом времени их создания? |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
elCreator, Что такого важного хранится в сессии и почему это важное нельзя хранить в данных пользователя на сервере?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
elCreator |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 21.7.2007 Репутация: нет Всего: -1 |
Это iframe приложение ВКонтакте, которое разнесено на несколько скриптов; в сессии хранится штук 5 переменных с временными данными пользователя по несколько байт, используемыми для связи при переходе от одного скрипта к другому плюс параметры инициализации приложения, передаваемые гет-запросом в адресе iframe единожды при заходе в приложение, без знания которых остальные скрипты не смогут взаимодействовать с сервером ВКонтакте.
Хранить в базе нецелесообразно, т.к. это добавит по 2 лишних запроса на каждый скрипт - на получение значений в начале скрипта и на запись в конце. Хранить в куках не хочу, т.к. это iframe-приложение, с выходом новых версий браузеров с обновлением политик безопасности появляются все новые глюки с куками в айфреймах. Сериализовать и хранить во временных файлах - как минимум странно при наличии в РНР механизма сессий, как раз для этого и предназначенного. Это сообщение отредактировал(а) elCreator - 30.4.2011, 22:21 |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
При начале новой сессии выковыривать нужные данные из базы данных, при изменениях - обновлять в базе данных. А в обычной жизни как и сейчас - брать их из сесии.
Сессия нужна не для того, чтобы хранить данные пользователя, а чтобы отслеживать "сессию" пользователя. период от входа на сайт и до выхода. Это сообщение отредактировал(а) ksnk - 30.4.2011, 22:39 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |