PHP Sessions Session Management
More on Session Management
The following code tracks whether a session is active and ends the session
if there has been no activity for more then 30 minutes
if ( isset ( $ _S E SSI ON [ ' LAS T _ACT I VITY ' ]) &&
( time () - $_ SESS ION [ ' LA ST_A C TIVI T Y ' ] > 180 0)) {
// la st req uest was more than 30 mina tes ago
se s s ion_ d estr o y (); // de stroy sessio n data in st orage
se s sion _ unse t (); // unset ses sion va ria b les
if ( s essi on_ i d () != " " || is set ( $ _ C OOK IE [ se s sio n _nam e ()]) )
se tco o kie ( s essi o n_n a me () , se ssi o n_i d () , tim e () -2 592000 , '/ ' );
} else {
// upd ate last ac tiv ity ti me st am p
$_ SESS ION [ ' LA S T_AC T IVI T Y '] = time ();
}
The following code generates a new session identifier every 30 minutes
if (! isset ( $ _S ESSI ON [ ' CR EAT ED ' ])) {
$_ SESS ION [ ' CREA TED '] = time ();
} else if ( time () - $_ S ESS ION [ ' CREA TED '] > 180 0) {
// s essio n start ed more than 30 minate s ago
se s s i on_r e g e nera t e _id ( true );
$_ SESS ION [ ' CREA TED '] = time ();
}
http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session- after- 30-minutes
COMP519 Web Programming Lecture 24 Slide L24 – 18