Подтвердить что ты не робот

Как работает Codeigniter sess_time_to_update

на основе следующего вопроса/ответа Класс сеанса CodeIgniter, не работающий в Chrome

У меня была проблема, когда люди не смогли войти на мой сайт из другой страны, которая далека от американского сервера. После поиска в Интернете я наткнулся на предложение, в котором описывается, как проблема основана на разнице между часовым поясом сервера и часовым поясом пользователя. Таким образом, расширив session_expiration, мне удалось обойти эту проблему, и люди могут успешно войти в систему.

Мои вопросы: создает ли sess_time_to_update новую временную метку, и она выйдет из системы, потому что новая временная метка находится в неправильном часовом поясе? Должен ли я сделать новый sess_time_to_update 17+ часов, чтобы он охватывал самый широкий диапазон часовых поясов, как объяснялось в вопросе, который я связал. Есть ли другой способ хранения сеанса в пользовательском браузере в зависимости от их локального времени (не прося их выбирать тайм-точки в профилях и других типах недружественных схем пользователя). Я хотел бы иметь время истечения 2 часа по умолчанию + 800 сек. Время обновления. Я не использую базу данных для хранения сеанса, и я бы предпочел не использовать его.

4b9b3361

Ответ 1

Параметр sess_time_to_update - это то, как часто обновляются данные сеанса (например, последняя активность). Значение по умолчанию - каждые 5 минут (300 секунд), и будет создан новый идентификатор сеанса. Это будет reset дата истечения срока действия, основанная на настройке sess_expiration.

Я хотел бы предложить сохранить sess_time_to_update по умолчанию (или ниже), так как это позволит сохранить сеанс пользователя дольше, так как истечение сеанса будет продолжать получать reset. Единственной настройкой, которая может потребоваться оставаться высокой, будет sess_expiration, то есть, если вы не можете определить часовой пояс пользователей.

Существует несколько способов определить часовой пояс пользователей. Одним из них будет Javascript (Пример: Отмена часового пояса клиентской стороны или вы можете попробовать использовать PHP GEOIP Методы