Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 01.01.2017 17:07:18

Сессия пользователя и сервера

Заметил такую проблему, что, если почистить в браузере историю, собственно у тебя пользователь не будет залогинен на сайте, а на сервере пользователь остается залогиненым. Как можно исправить эту проблему. Так как я себе сделал, что бы только 1 юзер, мог одновременно сидеть на 1 user_id на сайте. Использую сессии.

Не в сети

#2 01.01.2017 18:24:08

Re: Сессия пользователя и сервера

  1. Заметил такую проблему, что, если почистить в браузере историю, собственно у тебя пользователь не будет залогинен на сайте

Очистка истории на авторизацию никак не влияет. Вы чистите cookie.

Когда cookie с номером сессии удаляется, то сервер об этом ничего не знает. Её можно потом снова вернуть и авторизация «вернётся». Так и должно быть.

Чтобы старые данные не занимали место, PHP стандартно удаляет сессии, которые последний раз использовались «давно» (интервал зависит от настроек, по умолчанию полчаса). Но это просто таймаут; если человек вернётся со старой cookie через час, то сессия уже будет удалена с сервера и авторизация пропадёт — не смотря на то, что cookie в браузере осталась.

Так что это два независимых механизма, на клиенте и на сервере.

Не в сети

#3 01.01.2017 19:14:31

Re: Сессия пользователя и сервера

Proger_XP пишет:

}%> Заметил такую проблему, что, если почистить в браузере историю, собственно у тебя пользователь не будет залогинен на сайте
Очистка истории на авторизацию никак не влияет. Вы чистите cookie.

Когда cookie с номером сессии удаляется, то сервер об этом ничего не знает. Её можно потом снова вернуть и авторизация "вернётся". Так и должно быть.

Чтобы старые данные не занимали место, PHP стандартно удаляет сессии, которые последний раз использовались "давно" (интервал зависит от настроек, по умолчанию полчаса). Но это просто таймаут; если человек вернётся со старой cookie через час, то сессия уже будет удалена с сервера и авторизация пропадёт - не смотря на то, что cookie в браузере осталась.

Так что это два независимых механизма, на клиенте и на сервере.

Как я отписал в своем сообщении. У меня реализовано, что может быть залогинен только 1 человек под 1 user_id, в этом случае, если человек почистит историю браузера он не сможет зайти под себя, так как его user_id останется на сервере. Как можно лучше это реализовать и через что?

Не в сети

#4 01.01.2017 20:13:52

Re: Сессия пользователя и сервера

Открывает заново форму авторизации, входит в систему и это затирает старую авторизацию на сервере.

Не в сети

Подвал раздела