Я хочу заблокировать пользователей от доступа к моему приложению ColdFusion более одного раза в одно и то же время.Блокировать пользователей от многократного входа на сайт
У меня есть таблица SQL с dtLogin, dtLogLastUpdate, ip и isLogged.
Логика:
Тайм-аут сеанса составляет 1 час.
Когда пользователь входит в систему,
- набор dtLogin = DATESTAMP Теперь
- dtLogLastUpdate = даты: Теперь
- IP = пользователем IP
- isLogged = 1
Я использую вызов AJAX для обновления dtLogLastUpdate
каждые 1 минуту.
Когда я получаю запрос для входа в систему для пользователя, разрешайте только isLogged
0 ИЛИ dtLogLastUpdate
- это больше, чем мой тайм-аут сеанса в прошлом.
Как мне управлять, когда пользователи закрывают браузер, но не выходят из системы раньше? Нужно ли им ждать окончания сеанса?
Я бы предпочел использовать onSessionEnd для регистрации людей аутоматично. Это касается людей, которые закрывают свои браузеры. Также, если браузер закрыт, DtLogLastUpdated будет состоять из x минут. Если браузер был открыт и выполняет вызов ajax, сеанс останется активным и обновит dtLogLastUpdated. Вы также можете искать приложения «coldfusion who's online». есть старый, который может предоставить образцы кода. – steve
Возможно, вы можете выйти из «старого пользователя» и разрешить «новый пользователь» входить в систему. –
Вы не можете сравнить 'dtLogLastUpdate' с текущим временем? Если он не заглянул за минуту, я думаю, вы можете предположить, что они закрыли вкладку. –