Закрытие сессии на определенных условиях - PullRequest
0 голосов
/ 14 февраля 2011

Сейчас я использую сеансы для входа в систему пользователя и получения необходимой информации.по какой-то причине в Safari, если пользователь неактивен в течение длительного времени или закрывает окно без выхода из системы, это вызывает ошибку перенаправления.Можно ли как-то автоматически отключить пользователя, если он закроет вкладку или окно без выхода?

              The page isn't redirecting properly



           Firefox has detected that the server is redirecting the request for this address
           in a way that will never complete.


           This problem can sometimes be caused by disabling or refusing to accept
  cookies.

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Может быть, вы можете создать файл cookie, срок действия которого истекает при закрытии браузера, и когда кто-то повторно открывает сайт с помощью повторно открытого браузера и не имеет этого файла cookie, завершает сеанс?

Тем не менее, я считаю, что casablanca прав, поэтому сессия php должна завершиться при закрытии браузера.

1 голос
/ 14 февраля 2011

Прямой ответ на ваш вопрос - квалифицированное «нет».Вы можете добавить событие unload на страницу и отправить AJAX-запрос при его запуске (когда пользователь закрывает браузер или вкладку или уходит со страницы), но некоторые браузеры останавливают все ожидающие запросы как часть отправки новогозапрос.Кроме того, вам нужно было бы сделать какое-то допущение, когда пользователь просто перемещается по вашему собственному сайту, что будет вызывать те же события, что и при переходе.И что, если у них ваш сайт открыт в нескольких окнах или вкладках?

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

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