установить таймаут php сессии пользователем - PullRequest
1 голос
/ 04 января 2011

Возможно установить тайм-аут сеанса пользователем в php?

Пример: на моем сайте зарегистрировано 2 пользователя. Я хочу, чтобы каждый пользователь мог установить собственное время ожидания сеанса.

1 Ответ

4 голосов
/ 04 января 2011

Да, вы можете установить индивидуальное время ожидания сеанса для каждого пользователя. Вы можете использовать метод, описанный в Как истечь сессию PHP через 30 минут? , но вместо этого сохранить абсолютное время истечения:

// set expiration time
$_SESSION['EXPIRES'] = time() + $customSessionLifetime;

// validate session
if (isset($_SESSION['EXPIRES']) && (time() < $_SESSION['EXPIRES'])) {
    // session still valid; update expiration time
    $_SESSION['EXPIRES'] = time() + $customSessionLifetime;
} else {
    // session invalid or expired
    session_destroy();
    session_unset();
}

Здесь $customSessionLifetime можно установить по-разному для каждого пользователя. Просто убедитесь, что его значение меньше или равно session.gc_maxlifetime и session.cookie_lifetime (если вы используете cookie для идентификатора сеанса).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...