Время жизни для конкретной сессии

267
25 июня 2017, 16:53

Приветствую!

Подскажите, пожалуйста, как можно задать свое время жизни для конкретной сессии?

$_SESSION['log'];//Авторизация
$_SESSION['cart'];//корзина

У меня создается сессия на авторизацию пользователя и на добавление товара в корзину. Для авторизационной сессии надо задать свое время жизни, а для корзиной сессии этого делать не нудно.

Возможно ли такое реализовать и как, если можно?:)

Answer 1

По сути никак не задать. Для начало необходимо понимать, что такое сессия и для чего она предназначена.

Каждому посетителю сайта присваивается уникальный идентификатор, называемый идентификатором сессии (session id). Он хранится либо в cookie на стороне пользователя, либо передается через URL.

То есть сессия должна создаваться одна для сеанса.

Само время жизни общей сессии можно установить в php.ini session.gc_maxlifetime

В Вашем же случае, правильным вариантом, скорее будет устанавливать данные в cookie.

И работать с данными из cookie через $_COOKIE

Answer 2

Конкретно для $_SESSION вы не сможете указать время жизни. Лучше сделать так, при заполнении $_SESSION['log'] заполнять $_SESSION['log_start'] текущем временем. А потом проверять, не прошло ли слишком много времени.

$_SESSION['log_start'] = time();
...
if (time() - $_SESSION['log_start'] > $log_expr_time) {
    сессия протухла
READ ALSO
Непрерывная работа скрипта на web-сервере

Непрерывная работа скрипта на web-сервере

Такая задача, нужно заставить отрабатывать один скрипт на сайте через определенное время, желательно чтобы это был js, либо чтобы это был...

272
Конвертация json строки в js объект

Конвертация json строки в js объект

В php файле есть массив который передается так:echo json_encode($new_content);Его принимает функция, заданная при успешном выполнении AJAX запроса

329
Как узнать время жизни csrf токена в laravel 5.2?

Как узнать время жизни csrf токена в laravel 5.2?

One page application, все на аяксе, возникает проблема что если страница долго открыта и без действий токен протухает и user не может понять что случилось,...

343
Настройка сервера через vnc

Настройка сервера через vnc

Хостинг предоставил ssh и vnc все рутовое

294