2013-11-14 4 views
-1

У меня есть сайт PHP с логином. Как только человек зарегистрирован (используя стандартные сеансы на основе файлов), человек может щелкнуть страницу выхода из системы, которая выведет его.Выйти в браузере закрыть

Проблема в том, что посетители обычно этого не делают. Они просто закрывают веб-браузер.

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

Похоже, что это будет гигантская дыра в безопасности :) в общей среде пользователей (офисы, интернет-кафе и т.д.)

мне нужно знать, как «выйти» на лицо, закрывая окно. Я знаю, что переменная

'session.cookie_lifetime' 

устанавливается в 0.

Там должно быть какое-то решение. Любая помощь будет принята с благодарностью.

ответ

0

PHP не может знать (изолированно), когда клиент закрывается, поскольку это событие клиента, а не событие сервера. Однако вы можете использовать JS на клиенте для AJAX на сервере, чтобы сообщить, что сеанс закрыт, используя событие window.unload (link).

Возможно, вы также захотите зарегистрироваться this answer, который объясняет потенциальное отверстие в очистке сеанса (не уверен, что это относится к более поздним версиям PHP), а также session.gc_maxlifetime, которые также могут потребоваться для настройки.

+0

Я обнаружил, что он отлично работает на IE 8 и Safari. Только в Chrome и Firefox это не работает. Эти браузеры каким-то образом повторно используют файлы cookie сеанса после закрытия браузера. Я даже отключился, «по запуску продолжайте с того места, где я остановился». Таким образом, это не проблема PHP. – Padraig

Смежные вопросы