Bonjour
quelqu'un sait il comment peut-on limiter la durée de vie d'une session à 10 minutes par exemple.
Pour infos la commande session.gc_maxlifetime ne fonctionne pas sous windows
de plus je ne veux pas utiliser de cookies
Merci
Bonjour
quelqu'un sait il comment peut-on limiter la durée de vie d'une session à 10 minutes par exemple.
Pour infos la commande session.gc_maxlifetime ne fonctionne pas sous windows
de plus je ne veux pas utiliser de cookies
Merci
3 solutions
1.si tu as acces au php.ini
session.lifetime qui fixe la durée de vie, en secondes, du cookie envoyé au client. La valeur 0 signifie "jusqu'à ce que le client soit fermé".
Par défaut à 0. Donc si on le laisse à zéro la session dure jusqu'à la fermeture du navigateur, pour laisser les données durant 10 minutes, il faut remplacer 0 par 600 (= 10 minutes * 60 secondes dans une minute).
2.si tu nas pas acces au php.ini tu peux le faire avec un ini set
Code : Sélectionner tout - Visualiser dans une fenêtre à part session.lifetime = 600
3.avec un set cookie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ini_set("session.lifetime",600);
Code : Sélectionner tout - Visualiser dans une fenêtre à part setcookie("moncookie",valeurducookie, time()+600, "/", ".mondomaine.com",0);
Heu.....je crois qu'il est allergique aux cookies
de plus je ne veux pas utiliser de cookies
dsl javais pas lu le pas de cookies ;jai modifié mon poste pour les allergiques au cookies
merci pour vos réponse
mais le souci est que je n'ai pas de session.lifetime dans mon php.ini
ok ok as tu relancer le serveur apache?
puis vérifie que t dans le bon ini tu faisun phpinfo() et en haut, tu auras le chemin vers le php.ini
ps : si ta pas de session.lifetime tu le fais avec session.gc_maxlifetime c pareil
oui j'ai bien relancé mon serveur apache et je suis bien dans le meme repertoire
Mias quand je vais voir les infos sur les ssions il n'y a aps de sesion.lifetime
Pour info j'ai PHP 5.1.4 et apache 2.0.58
honnetement je vois pas d'ou ça peut venir
(meme avec le ini set ça marche pas?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ini_set("session.gc_maxlifetime",600);
si j'ai bien session.gc_max_lifetime mais je n'ai pas de session.lifetime
c identique , ça fais pratiquement les memes choses session.gc_max_lifetime et session.lifetime
session.lifetime
fixe la durée de vie, en secondes, du cookie envoyé au client. La valeur 0 signifie "jusqu'à ce que le client soit fermé". Par défaut à 0 (inactivé).
session.gc_maxlifetime
fixe la durée, en secondes, au-delà de laquelle les données considérées comme inutiles seront supprimées.
As tu essayé dajouter dans le php.ini session.lifetime?
Sinon
dans le php.ini tu met
si ça marche tjs pas tu met dans ton fichier php
Code : Sélectionner tout - Visualiser dans une fenêtre à part session.gc_max_lifetime = 600
si ça fonctionne tjs pas je ne vois que les cookies (comme indiqué au 2 ieme post) mais tu nen veux pas malheuresement
Code : Sélectionner tout - Visualiser dans une fenêtre à part ini_set("session.gc_maxlifetime",600);
et bein ca marche pas.
Moi ce que je cherche a faire c'est detriure une session apres 10 minutes mais la rien ne se passe alors que j'ai bien mon session.gc_max_lifetime = 60
je ne vois mis a part rajouter dans le php.ini la ligne session.lifetime =600
sinon je peux plus taider, en esperant que qq 1 taidera car jaimerais aussi savoir si un jour ça marrive
L'autre solution, c'est de faire ton propre timeout.
Tu mets en session le timestamp de la dernière action, tu compares avec le nouveau timestamp, et si il y a plus de 10 minutes entre les 2, tu détruis la session.
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 session_start(); if(time() - $_SESSION['timeout'] > 600) // 600 secondes = 10 min {session_destroy(); session_start(); } $_SESSION['timeout']=time();
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager