|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : février 2006 Messages : 121 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
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 3.avec un set cookie Code :
setcookie("moncookie",valeurducookie, time()+600, "/", ".mondomaine.com",0); |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() |
dsl javais pas lu le pas de cookies ;jai modifié mon poste pour les allergiques au cookies
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : février 2006 Messages : 121 ![]() |
merci pour vos réponse
mais le souci est que je n'ai pas de session.lifetime dans mon php.ini |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() |
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 |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : février 2006 Messages : 121 ![]() |
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 |
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() |
honnetement je vois pas d'ou ça peut venir
(meme avec le ini set ça marche pas?) Code :
ini_set("session.gc_maxlifetime",600); |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : février 2006 Messages : 121 ![]() |
si j'ai bien session.gc_max_lifetime mais je n'ai pas de session.lifetime
|
|
|
00
|
|
|
#10 |
|
Membre expérimenté
![]() |
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 :
ini_set("session.gc_maxlifetime",600); |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : février 2006 Messages : 121 ![]() |
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 |
|
|
00
|
|
|
#12 |
|
Membre expérimenté
![]() |
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 |
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
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 :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com