Как завершить сеанс PHP на окнах закрыть?

Я использую класс SimpleUsers и создал систему входа в систему на основе базы данных.
Вот SimpleUsers на Github

Вот мой вопрос:
Как прекратить сеанс PHP на закрытие окон? Когда окна закрыты, сеанс для вошедшего в систему пользователя еще открыт. Как я могу закрыть это?
Я пытался использовать

session_set_cookie_params(0);

Но это не помогло.
Пожалуйста, помогите мне.

1

Решение

Я предполагаю, что под «окнами» вы подразумеваете вкладку браузера / окно веб-браузера.

Простой ответ: вы не можете, если пользователь не просит. Вы можете попробовать какой-нибудь код JavaScript с помощью метода «onclose», который отправит запрос на ваш сайт для закрытия сессии.
Cons этого метода, когда у кого-то есть 2 вкладки и, наконец, одна закрыта, он выйдет из системы

Вы должны уничтожать сессии только тогда, когда кто-то нажимает кнопку «Выйти».

Редактировать в комментарии

Если вы хотите защитить (привязать) сеанс к IP, вы можете сохранить его в $_SESSION IP-адрес пользователя, который начал сеанс и завершил сеанс в случае изменения IP

if($_SESSION['user_ip'] !== $_SERVER['REMOTE_ADDR']){
// do the code to terminate session.
}
1

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

Других решений пока нет …

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