Expiration de session

Melooo Messages postés 1476 Statut Membre -  
Melooo Messages postés 1476 Statut Membre -
Bonjour,
Je suis actuellement en train de réaliser un site internet, et je voudrais qu'une page soit inactive au bout d'un certain temps.
Si par exemple l'utilisateur n'a pas navigué sur sa page depuis 10 min, que cela le redirige automatiquement vers la page d'authentification.
Alors j'ai essayé de changer mon php.ini en changeant la valeur session.gc_maxlifetime à 100 qui vident donc mes sessions au bout de 100 secondes, et donc dans mon code j'ai mis :
if (($_SESSION['mdp_users'] == "") && ($_SESSION['login_users'] == ""))

Mais ca n'a pas l'air de fonctionner.
Merci de vos réponses

A voir également:

3 réponses

Nabla's Messages postés 20731 Statut Contributeur 3 194
 
c'est vrai que c'est ce qui semblerait logique. ceci dit, je sais que la politique de suppression des sessions en PHP est notament basée sur un paramètre aléatoire...

ce que tu peux faire, c'est stocker l'heure de la dernière activité dans uen variable de session, et faire toi meme la comparaison entre la deernière activité et l'heure actuelle
0
Siluni
 
il y a aussi le solution javascript, qui ne nécessite aucune donnée stocker
function maFonction(){
     document.location.href = 'maPage.php';
}
setintervat(maFonction(), 1000 * 60 * 10);
0
Melooo Messages postés 1476 Statut Membre 84
 
Ah oui j'essayerai comme ca :)
Euh question toute bête
1000 * 60 *10 correspond à quelle temps en secondes ? (enfin pourquoi * 10 ?)
0
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
si tu veux faire u ntruc autour des session, fais le en utilisant les sessions, pas en utilisant du javascript qui peut etre désactivé par l'utilisateur...

J'ai pas testé le code ci dessous, mais a mon avis ca devrait pas etre bien lon de la solution à adopter...

session_start(); 
if (isset($SESSION['last_activity']) and $SESSION['last_activity'] > time() - (60 * 10)) 
    $SESSION['last_activity'] = time(); 
else 
    session_destroy();
0
Melooo Messages postés 1476 Statut Membre 84
 
Oui c'est vrai j'avais pas pensée à ce que le javascript soit désactivé...
A quoi correspond time ?
0
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
time correspond à l'heure courrante en secondes depuis le 01/01/1970

heu, je vais faire une tite modif dans le if ... j'ai fait une boulette je croi ...
0
Melooo Messages postés 1476 Statut Membre 84
 
Oui en effet c'est time() et non time ;)
0
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
en meme temps, à 9h27 du matin, tu ne croyais quand meme pas que je pouvais coder du php sans erreur san sl'aide d'un analyseur syntaxique, si ?
0
Melooo Messages postés 1476 Statut Membre 84
 
En effet c'est pardonnable lol ;)
Merci de ton aide.
Je testerai sa très vite :)
0