codeigniter — выполняет какое-либо событие при тайм-ауте php сессии

Я попробовал это с jquery ‘onbeforeunload’, но не получилось, так как jquery выполнял это действие даже при обновлении страницы.
Все, что я хочу сделать, это выполнить функцию БД перед тем, как какой-либо пользователь закроет свой браузер или компьютер. Так что я могу знать, что он вышел из системы. Я хочу добавить функцию, подобную Facebook, «Вход в систему с других устройств», с принудительным выходом из системы. с других устройств.

2

Решение

Нет способа поймать событие закрытия браузера в JavaScript. Вы можете попробовать веб-сокет и работу CRON для достижения ваших целей.

Для веб-сокета вы можете получить общее количество подключений определенного пользователя, и если подключение становится равным 0, это означает, что пользователь закрыл все страницы (окна или вкладки) вашего веб-приложения. Кроме того, вам нужно помнить об отключении Интернета, поэтому вам нужно использовать задание CRON, это задание CRON должно выполняться каждые определенные минуты (например, 15 минут), чтобы в случае потери соединения пользователем в течение 15 минут, Вы должны автоматически выйти из системы этого пользователя.

Если у вас нет правил, например, пользователь должен быть отключен после нескольких минут простоя, тогда вы можете просто использовать веб-сокет.

4

Другие решения

в системе / библиотеки / сессии вы найдете эту строку

// Is the session current?
if (($session['last_activity'] + $this->sess_expiration) < $this->now)
{
$this->sess_destroy();
return FALSE;
}

Вы можете сделать что-нибудь в этом, если.

1

По вопросам рекламы [email protected]