Вопрос по уничтожению сессии.

kolemming

Новичок
Вопрос по уничтожению сессии.

Народ, вопрос такой.

Есть админцентр для сайта. После того как логин и пароль проверен, стартует сессия, создаются две переменных сессии, логин и пароль(для дальнейшей проверки его прав на те или иные операции). Пользователь перебрасывается на нужную страницу. Дальше он там манипулирует данными, но вот ситуация в следующем. Допустим он с этой страницы переходит на любую другую, в Яндекс, например. Он там что то делает итп. Потом он может спокойно кнопочкой возврата вернутся и оказаться на странице админцентра. Я могу создать кнопочку log_out и по нажатию на нее сессия будет уничтожатся, но поскольку сайт делается для простых юзеров, они скорее всего забьют на эту кнопку. Так вот как мне сделать так, что бы сессия грохалась, когда пользователь ушел со страницы администрирования, не нажав log_out?
 

MiRacLe

просто Чудо
если это действительно необходимо?!? - сессия "сама" уничтожиться (при дефолтных настройках через 1440 секунд)

1) делаешь время жизни сессии 1 минуту (например)
2) на странице в скрытом <IFRAME /> вызываешь раз в минуту скрипт который "поднимает" сессию
 

kolemming

Новичок
Ясно, спасибо!

Хотя мне не очень нравится идея размещения скрытых фреймов. Народ может кто нить знает, как это реализованно, например в движках большиснтва форумов. Когда участник покидает форум, он еще некоторое время виден для остальных, как находяйщийся на форуме, а потом пропадает, может есть еще какие нить способы, кроме как скрытые фреймы?
 

MiRacLe

просто Чудо
насчёт "движков" - тебе бы следовало посмотреть их исходный код самому

там устроено естественно без фреймов - при посещении страницы - в базу пишется дата этого визита - при показе выбираются только те, у которых lastVisitTime отличается не больше чем на N-минут

об уничтожении сессии как таковой речь конечно же не идёт
 

ForJest

- свежая кровь
kolemming
Хранишь время последнего клика/действия. Потом соответсвенно удаляешь из активных всех у кого таймаут.
 

kolemming

Новичок
Originally posted by ForJest

Хранишь время последнего клика/действия. Потом соответсвенно удаляешь из активных всех у кого таймаут.
Дело в том, что это админцентр сайта, я не могу из-за отстутствия действий пользователя, грохать сессию.

Ладно придется делать с фреймами, не было печали... :( !!!

p/s/
Задача продиктованна тем, что если юзер полезит не со своего компа, что-то редактировать, не нажмет лог-аут, то что бы в течении этого времени жизни сессии по дефолту, нельзя было туда по журналу зайти другому человеку, который там быть не должен.
 
Сверху