parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Marat Suponitsky 13.05.2006 20:32

Моя ошибка в том, что я не описал свою задачу изначально. Моя система построена таким образом, что при прохождении авторизации пользователем, генерируется sid, который пишется в базу и одновременно выдается пользователю кукой. Во время сеанса эти данные используются для идентификации пользователя. При правильном выходе из системы, у пользователя стираются куки и поле sid изменяется на 'offline'. Это сделано для повышения безопасности сеанса - при попытке авторизации делается проверка столбца sid для введеного логина, и если sid != 'offline', то авторизация блокируется.
Проблема в том, что при неправильном выходе из системы(закрытии окна с приложением), стираются только куки, а sid остается неизменным. Т.е. пользователь, который неправильно вышел из системы, при следующей попытке авторизации получит сообщение "Пользователь находится в системе". Для решения этой проблемы сейчас, используется отдельный сервис - выводится страница с вариантами "сменить пароль" или "ввести кодовое слово", которое было указано при регистрации. Конечно, не самый гуманный подход, но на мой взгляд - самый безопасный, если не брать в расчет HTTP-Аутентификацию.
Буду благодарен за конструктивную критику.