PHP: ограничение сессий, идентификация потеряной сесии
Добавлено: 20 окт 2008, 14:22
PHP-приложение реализуетс сервис, требующий авторизации пользователей.
Используется механизм сессий PHP.
Требуется ограничить количество одновременных сесий под одним логином.
Можно ли это вообще реализовать?
Понятно, что если пользователь по завершении работы нажмет кнопку Выход, то можно его сессию деинициализировать, а как быть если он просто закрыл браузер? Как идентифицировать, что сессия потеряна?
Мне видятся следующие варианты:
1) Установить таймаут неактивности сессии (теоретически где-то должен настраиваться в PHP, но я пока не нашел где). В этом случае, если пользователь забыл нажать "Выход", а также и просто при разрыве соединения будет вынужден дождаться таймаута, прежде чем снова сможет войти
2) Запускать в браузете JScript, который будет посылать ALive запросы, означающие, что сесия жива. По их отсутсвию закрывать сессию, и требовать повторной авторизации
3) ...?
Используется механизм сессий PHP.
Требуется ограничить количество одновременных сесий под одним логином.
Можно ли это вообще реализовать?
Понятно, что если пользователь по завершении работы нажмет кнопку Выход, то можно его сессию деинициализировать, а как быть если он просто закрыл браузер? Как идентифицировать, что сессия потеряна?
Мне видятся следующие варианты:
1) Установить таймаут неактивности сессии (теоретически где-то должен настраиваться в PHP, но я пока не нашел где). В этом случае, если пользователь забыл нажать "Выход", а также и просто при разрыве соединения будет вынужден дождаться таймаута, прежде чем снова сможет войти
2) Запускать в браузете JScript, который будет посылать ALive запросы, означающие, что сесия жива. По их отсутсвию закрывать сессию, и требовать повторной авторизации
3) ...?