Отключить пользователя через 5 минут - PullRequest
1 голос
/ 30 января 2011

Может кто-нибудь, пожалуйста, помогите мне, как отключить пользователя (используя сеансы) через 5 минут, независимо от того, свободны ли вы или активны. кодирую в php и mysql в качестве базы данных.

Ответы [ 3 ]

3 голосов
/ 30 января 2011

Когда пользователь входит в систему, вы можете зарегистрировать переменную сеанса для времени, каждый раз, когда страница загружается, проверьте, прошло ли 5 ​​минут с момента входа в систему.Например:

<?php
session_start();
if($_SESSION["loggedin"] && ($_SESSION["timer"]<(time()-(5*60)))) {
logout();

}


function login() {
//do login stuff
$_SESSION["timer"]=time();
}

function logout() {
//do logout stuff
}

?>
2 голосов
/ 30 января 2011

Использование session.gc-maxlifetime:

ini_set('session.gc-maxlifetime', 60*5);

Когда интерпретатор php прочитает вышеуказанную строку, ваша сессия истечет через 5 минут.

1 голос
/ 30 января 2011

Вы можете сохранить метку времени последнего действия в массиве $_SESSION и сравнить $timestamp + 300 с текущим временем.

Простое указание низкого значения времени жизни сборщика мусора не сработает, поскольку сборщик мусора не запускается при каждом запросе страницы.

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