Hoe vaak komt het niet voor dat een gebruiker vergeet uit te loggen en de sessie open blijft staan met ongeoorloofd gebruik tot gevolg.

Wat ois nu de beste methode of procedure om een sessie te laten verlopen en de zorgen dat de gebruiker opnieuw moet inloggen??
Dit heb ik ooit toegepast. Elke keer als de pagina werd geopend.

// set timeout period in seconds. 300 is 5 minutes

$inactive = 300;

// check to see if $_SESSION['timeout'] is set

if(isset($_SESSION['timeout']) ){
	
	$session_life = time() - $_SESSION['timeout'];

	if($session_life > $inactive)
	{
		session_unset();
		session_destroy();
		header('Location: ' . $savedPath . "/" . $LoginPage );
		exit();
	}
}

$_SESSION['timeout'] = time();
Sessies worden na inactiviteit na 28 minuten verwijderd. Dus waarom zou je de bovenstaande code willen gebruiken?
Hiermee kan je de tijd aanpassen:
ini_set('session.gc_maxlifetime', 3600); // 1 uur


De vraag is of het gewenst is om steeds in te loggen, tenzij het een bedrijfskritische applicatie is waar absoluut geen misbruik kan worden geoorloofd. Daarom prefereer ik cookies.

Op het werk vergrendel ik ook altijd mijn PC als ik even weg loop, en als ik een site open heb staan, dan log ik mijzelf ook netjes uit. Dus voor een normale website zou ik het best hinderlijk vinden om continu in te loggen.

Nog mooier is als je zelf een sessie-systeem zou maken, waarbij je controle hebt over de aangemaakte sessies.
Dan kan je bijvoorbeeld vanaf thuis je sessie die je op je werk hebt aangemaakt verwijderen. Net zoals Tweakers ongeveer heeft, als je daar wel eens komt.

Reageren