сессии и прочие

Shicoo

Новичок
сессии и прочие

Есть задача - надо что бы если пользователь залогинился, то залогинится еще раз он уже не мог. Т.е. напр. залогинился сначала я, а потом с другого компа пытается зайти туда моя девушка, но система не должна ее пустить.

+ надо именть список пользователей которые в текущий момент залогинены на сайте.

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

есть идеи?

PS: изменять php.ini для уменьшения времени жизни возможности нет
 

Бочонок

http://frontender.info
???...

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

Shicoo

Новичок
Создается портал с он-лайн видео. Можео смотреть фильмы. Есть платные фильмы, которые доступны только зарегестрированным пользователям. Я могу зарегестрироваться и дать свой логин и пароль девушке (что бы не платить за 2 акаунта).

Теперь я пришел на работу и решил посмотреть фильм. Захожу, логинюсь и смотрю. В это время моя девушка решила то-же зайти на сайт и посмотреть фильм. Когда она логинится - система проверяет залогинен уже такой пользователь или нет. Если да, то сообщить ей, что мол ничего не получится.
 

Бочонок

http://frontender.info
тогда только по таймауту, как я описал выше.
на страничке, показывающей фильм есть скриптик на AJAX который каждую минуту (например) связывается с сайтом и обновляет список активных.
тогда это должно получится достаточно надежным.
но только при условии хорошей скорости соединения и возможности не беспокоится о траффике.
правда если ты собираешься онлан смотреть фильмы, то это можно предположить априоре.

список активных можно хранить в базе, или (кажется) в shared memory. В последней по идее это делать более разумно.
Но тут я тебе ничего не одскажу толком - как то с ней не сталкивался особо.

-~{}~ 21.09.06 13:30:

а таймаут скажем 5 минут.
 

dr-sm

Новичок
Re: сессии и прочие

Автор оригинала: Shicoo
Есть задача - надо что бы если пользователь залогинился, то залогинится еще раз он уже не мог. Т.е. напр. залогинился сначала я, а потом с другого компа пытается зайти туда моя девушка, но система не должна ее пустить.
рекомендую, во избежание плясок с бубном, щитать валидным только last successful login. те если твоя девушка заходит с другого компа, то у нее все ок, а тебя выбрасывает. по поводу списка пользователей впоиск.
 
Сверху