Session Timeout question
| From: | Karl DeSaulniers | Date: | Fri, 16 Apr 2010 18:52:16 +0000 |
| Subject: | Session Timeout question | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-47056@lists.php.net to get a copy of this message | ||
What is the best way to set a user timeout on a session?
Say if the user steps away from their computer for say 5 min,
and they come back to the page they were on, I want when the user clicks something
for the session to kick them off and redirect to login saying their session has timed out.
I have this code currently:
/*Users timout*/
function getIdle(){
global $database;
if($this->isGuest()) {
if (!isset($_SESSION['timeout_idle'])) {
$_SESSION['timeout_idle'] = time() + GUEST_TIMEOUT;
} else {
if ($_SESSION['timeout_idle'] < time()) {
//destroy session
return(true);
} else {
$_SESSION['timeout_idle'] = time() + GUEST_TIMEOUT;
return(false);
}
}
} else {
if (!isset($_SESSION['timeout_idle'])) {
$_SESSION['timeout_idle'] = time() + USER_TIMEOUT;
} else {
if ($_SESSION['timeout_idle'] < time()) {
//destroy session
return(true);
} else {
$_SESSION['timeout_idle'] = time() + USER_TIMEOUT;
return(false);
}
}
}
}
But it doesn't time anything out.. I could walk away for an hour and come back and go to a link.
TIA,
Karl DeSaulniers
Design Drumm
http://designdrumm.com