PHP Выход пользователя из системы после закрытия страницы (вкладка) - PullRequest
1 голос
/ 05 декабря 2010

Я отслеживаю время, когда пользователи вошли в систему. После того, как они закрыли весь браузер, они вышли из системы; но когда они закрывают только вкладку (есть только одна вкладка) и через несколько минут возвращаются на сайт, они снова входят в систему.

Кто-то сказал мне, что это поведение можно изменить в конфигурации сервера. Кто-нибудь знает как?

Я использую PHP 5.2 и Apache. Просто обычный веб-сервер. Я также использую фреймворк Kohana 3 PHP. Для входа пользователей в систему существует сеанс с файлом cookie, в файле cookie - идентификатор сеанса.

Спасибо!

1 Ответ

2 голосов
/ 05 декабря 2010

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

Кроме того, если вы установили свои куки сессии (id) без времени истечения ("сеансовые куки") они будут удалены при закрытии браузера.

Кстати, не очень хорошее " решение "для вашего запроса - установить время истечения сеанса на очень очень низкоеЗначение (30 секунд) может быть и «обновлять» сеанс через AJAX-запрос в фоновом режиме каждые ~ 15-20 секунд.Однако, если у кого-то очень медленное соединение, запрос может прийти слишком поздно, и, кроме того, это решение вызовет много ненужного трафика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...