Запрет повторной авторизации

  • Автор темы Автор темы Torio
  • Дата начала Дата начала

Torio

Guest
Запрет повторной авторизации

Ситуация следующая:
Пользователь авторизовался и присутствует на сайте. Он же либо кто-нибудь другой пытается войти под тем же логином - паролем (у пользователя два или более броузера или не включены куки).
Как сделать так, чтоб сеанс не открывался до его закрытия вне зависимости откуда пытаются продублировать логин-пароль?

То есть сейчас я пишу эту тему из Оперы, а в это время у меня открыт другой сеанс (независимый кажется) из IE!

Так вот, надо сделать чтоб ничего подобного не было! Это возможно?
 
прежде, чем задавать такие вопросы, надо сначала определиться с понятием "Пользователь присутствует на сайте", и решить - что оно означает.
 
Запрет повторной авторизации (d2)

Вот тот самый пример: эта тема создана из IE при открытом сеансе в Opere! (то есть - эта тема пример и ее надо удалить!)
Как подобное не допустить?
 
я бы попросил воздержаться от подобных иллюстраций, которые могут быть расценены, как флуд
 
Фанат
посмотри на продублированную тему! Вот это и имелось ввиду!
То есть я могу одновременно работать из разных броузеров и при этом БЫТЬ АВТОРИЗОВАННЫМ! Если один броузер закрою, то сессия во втором сохранится, надо так сделать, чтоб второй сесии вообще не было.

т.е. зашел я и пока не вышел, никтор под таким же логином-паролем зайти не может!

-~{}~ 24.05.05 22:30:

Фанат

Так как этого избежать?! Мне правда это очень надо.

-~{}~ 24.05.05 22:31:

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

-~{}~ 24.05.05 22:38:

Torio
Да просто время сессии истечет
то есть, после того, как я ушёл с сайта, попасть на него снова не смогу до тех пор, как истекла сессия?

-~{}~ 24.05.05 22:39:

ONK
ForJest в подобной теме предложил простое и удобное решение.
 
ONK
Да? Как это сделать (для зарегистрированного мне и надо)?
У меня в БД хранится инфа о логине-пароле, а так же инфа о том авторизован сейчас пользователь или нет. Как мне сделать так, чтоб при завершении сессии (или при принудительном закрытии броузера) значение 'authorization' опять становилось равным нулю (при авторизованном пользователе значение единица)?
 
Фанат, не видел, наверно редко читаю темы этого форума.
 
Фанат
Закрыл IE (помнишь было два броузера), а в опере сеанс продолжается.

-~{}~ 24.05.05 22:45:

Ушел с сайта - обрыв связи, время сессии истекло, закрыл броузер - это все значит ушел с сайта.
 
Torio

У меня в БД хранится инфа о логине-пароле, а так же инфа о том авторизован сейчас пользователь или нет. Как мне сделать так, чтоб при завершении сессии (или при принудительном закрытии броузера) значение 'authorization' опять становилось равным нулю (при авторизованном пользователе значение единица)?
Только по истечении таймаута. HTTP протокол не предоставляет возможностей узнать момент ухода пользователя с сайта, остальные решения не надёжны. Поэтому ты в любом случае создаш проблемы пользователям.
 
Да, еще, если выход обусловлен нажать кнопку (ссылку и т.п.) "ВЫХОД" то с этим проблем-то нет, вот если выход принудительный...
 
я думаю, бессмысленно разговаривать с человеком, который не читает, что ему пишут.
Лично я не возьмусь. может, кто другой.
 
ONK, Если пользователь не сможет зайти на сайт в течении 10-20 минут - ничего страшного не случится (это допустимо), так как?

-~{}~ 24.05.05 22:53:

Фанат

Итак,

УШЕЛ С САЙТА: обрыв связи, закрытие броузера, сессия истекла, нажал кнопку выход.

НУЖЕН: запрет любой авторизации пока пользователь НЕ УШЕЛ.

Так понятно?
 
Torio, если готов пойти на такие грабли, то вместо флага "authorization" храни маркер времени последнего запроса страницы. Дальше ты должен сам догататься что и как делать.
 
ONK
Только по истечении таймаута. ----

КАК??? Мне это вполне подойдет! Где читать? (лучше пример листинга)

-~{}~ 24.05.05 22:59:

ONK
Спасибки! :)
Это похоже на решение.

-~{}~ 24.05.05 23:18:

ONK
Все заработало, именно так, как мне и было надо! :)
 
Сверху