Доброе время суток)
Столкнулся с проблемой. Вкратце:
Нужно запретить авторизацию пользователя тогда, когда под таким же логином пользователь уже авторизован.
В данный момент это осуществляется так.
Есть таблица online;
При авторизации записывается id сессии, текущее время.
При обращении к страничке мы проверяем такой айдишник сессии в базе, если есть, то обновляем время.
Далее идет проверка тех пользователей, кто не был активен. Т.е. если разница записанной даты и текущей более 5 минут - то пользователь считается оффлайн и строчка из базы удаляется.
При авторизации мы проверяем есть ли такой пользователь онлайн - если да, то запрет на авторизацию, нет - логинимся и все сначала)
================================ =======================
Суть проблемы:
Представим, что пользователь авторизовался, посидел на сайте 5 минут без действий. Значения из базы online удалились. В это время авторизовался пользователь2. (ведь данные о сессии пользователя 1 удалены)
Таким образом мы получили 2 пользователей онлайн под 1 учетной записью.
================================ =======================
Каким образом организовать авторизацию, чтоб избежать таких камней?)
Аторизация сейчас происходит так:
1. Jlblcblu - 07 Ноября, 2010 - 23:15:19 - перейти к сообщению
Куки не используются.
З.Ы.
Заранее благодарен