Har prøvet, men det virker ikke rigtigt.
Jeg sætter ini_set("session.cookie_lifetime",5) i starten af alle mine sider, men der timeoutes ikke efter de 5 sekunder.
Man kan prøve filerne på
http://test.klinting.dk/ Se kilderne herunder:
-------------------------------------------
- forside.php
-------------------------------------------
<?
session_start();
ini_set("session.cookie_lifetime",5);
$redirect_faillogin = "/login.php";
$redirect_login_ok = "/forside.php";
if (!session_is_registered("session_inside")) {
?><!-- er ikke inde, sender videre til loginsiden. -->
<html>
<head>
<title>-><?=$redirect_faillogin;?></title>
<meta http-equiv="refresh" content="2;URL=<?=$redirect_faillogin;?>">
</head>
<body onLoad="window.top.location='<?=$redirect_faillogin;?>';">
</body>
</html>
<?
exit;
}
?>
Forsiden... man er inde, men hvis der ventes 5 sekunder og man reloader burde cookien være timeouted, og man skulle logge ind igen.
-------------------------------------------
- login.php
-------------------------------------------
<?
session_start();
ini_set("session.cookie_lifetime",5);
$redirect_faillogin = "/login.php";
$redirect_login_ok = "/forside.php";
if (session_is_registered("session_inside")) {
?>
<!-- er inde, sender videre til forsiden -->
<html>
<head>
<title>-><?=$redirect_faillogin;?></title>
<meta http-equiv="refresh" content="2;URL=<?=$redirect_faillogin;?>">
</head>
<body onLoad="window.top.location='<?=$redirect_login_ok;?>';">
</body>
</html>
<?
exit;
} else {
?>Brugeren er ikke logget ind, så dét sker på denne side.<?
// HER SKAL DER VALIDERES
// LOGIN
$inside = 1;
session_register("session_inside");
?><br>Brugeren er nu logget ind.<?
echo "<br>session.cookie_lifetime: ".ini_get("session.cookie_lifetime");
?><br><a href="index.php">videre</a><?
}
?>
-------------------------------------------
- login.php (Bruges til at slette cookies)
-------------------------------------------
<?
session_start();
if(session_destroy()) {
// echo "session destroyed";
echo "Brugeren blev logget af.";
}
?>