ozz
@ozz

Отмена зимнего времени — проблемы с авторизацией пользователей через cookies. Как решить средствами сервера?

Доброго времени суток!


Помимо уже описанных эффектов, связанных с переездом в GMT+3 (Беларусь), мы столкнулись еще с одним.

Дано: Система администрирования веб-сервиса с авторизацией через логин-пароль, использующая Cookie. время неактивной сессии администратора установлено в 10 минут.

Симптом проблемы: Администратор (в общем случае авторизуемый Пользователь) входит, вводит корректные логин и пароль, система принимает его (выводится сообщение об успешной авторизации) и пользователь опять переходит на страницу с просьбой ввести логин и пароль. Оставим в стороне очевидную ошибку разработчиков, которые поленились вывести системное сообщение о том, почему так происходит.

Причина: Оказалось, что пользователь (из Беларуси) на своей локальной машине установил правильное локальное время, но не сменил свой часовой пояс, оставшись в GMT+2.

Механизм действия причины: При правльном логине и пароле система устанавливает Cookie с временем жизни в +10 минут. Реальное время клиента, приходящее на сервер в таком случае составляет -1 час к реальному времени сервера, соответственно, устанавливаемая кука с длительностью в 10 минут является уже заранее просроченной и соответственно, необходима повторная авторизация пользователя.

Решение: Установить временную зону на компьютере пользователя правильно, для Беларуси в GMT+3, и корректно настроить локальное время на компьютере пользователя.

Внимание, вопрос: как эту проблему решить средствами сервера и вообще не зависеть от таких нюансов на стороне клиента?
  • Вопрос задан
  • 2755 просмотров
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
Куки устанавливаются не просто +10 мин, а указывается конкретное время (по UTC/GMT)
Если речь идет о 10 мин, то возможно у клиента и/или у сервера часы неточные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы