Chrome Переключает просмотр разных устройств, уничтожает сеанс

Я работаю на веб-сайте admin cp с PHP в качестве задней технологии, и в то же время я исправляю некоторые отзывчивые проблемы.

Итак, я вошел в панель администратора. Но когда я переключаю различные устройства, такие как Galaxy, Nexus Iphone или даже отзывчивый режим, чтобы проверить отзывчивый вид или исправления, которые я сделал, я обнаружил, что вышел из системы и перенаправлен на страницу входа и также я вижу вещи, которые не должны появляться перед входом в систему, такие как меню администратора, но недоступны, другими словами, он частично зарегистрирован, а половина - нет.

обналичивание не отключено.

идентификатор сеанса - это то же самое, что я вижу.

Я действительно не могу обойти его!

Это что-то нормальное в браузере, что означает, что каждое устройство не зависит от всего браузера?

Или я делаю что-то неправильно?

Ответы

Ответ 1

Наконец, и после нескольких часов обзора моего кода и отладки каждой вещи я придумал решение моей проблемы:

  • моя гипотеза в вопросе о том, что устройства независимы друг от друга вполне корректны, поскольку каждое устройство имеет HTTP_USER_AGENT

Вы можете попробовать это следующим образом:

echo $_SERVER['HTTP_USER_AGENT'];

Переключить различные устройства в браузере и увидеть результат.

Так как для лучшей практики сеансов, основанной на переполнении стека и многих других ресурсах, рекомендуется сохранять $_SERVER['HTTP_USER_AGENT'] в сеансе, а затем проверять сеанс после входа в систему, что означает, что вошедший в систему пользователь является именно пользователем, исходящим из что браузер

И что я делал, я проверял сеанс входа пользователя и сеанс агента пользователя

И это то, что вызывало проблему, поэтому, когда я переключаю разные устройства, изменяется HTTP_USER_AGENT, поэтому сеанс не соответствует, и поэтому я автоматически выхожу из системы.