IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] limiter durée de session


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Par défaut [Cookies] limiter durée de session
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    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
    1
    2
     
    ini_set("session.lifetime",600);
    3.avec un set cookie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie("moncookie",valeurducookie, time()+600, "/", ".mondomaine.com",0);

  3. #3
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    Heu.....je crois qu'il est allergique aux cookies

    de plus je ne veux pas utiliser de cookies

  4. #4
    Invité
    Invité(e)
    Par défaut
    dsl javais pas lu le pas de cookies ;jai modifié mon poste pour les allergiques au cookies

  5. #5
    Membre confirmé Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Par défaut
    merci pour vos réponse
    mais le souci est que je n'ai pas de session.lifetime dans mon php.ini

  6. #6
    Invité
    Invité(e)
    Par défaut
    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

  7. #7
    Membre confirmé Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Par défaut
    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

  8. #8
    Invité
    Invité(e)
    Par défaut
    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);

  9. #9
    Membre confirmé Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Par défaut
    si j'ai bien session.gc_max_lifetime mais je n'ai pas de session.lifetime

  10. #10
    Invité
    Invité(e)
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.gc_max_lifetime = 600
    si ça marche tjs pas tu met dans ton fichier php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set("session.gc_maxlifetime",600);
    si ça fonctionne tjs pas je ne vois que les cookies (comme indiqué au 2 ieme post) mais tu nen veux pas malheuresement

  11. #11
    Membre confirmé Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Par défaut
    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

  12. #12
    Invité
    Invité(e)
    Par défaut
    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

  13. #13
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    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();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. page login obligatoire et limiter durée session
    Par Korben-Dallas dans le forum Langage
    Réponses: 20
    Dernier message: 01/07/2010, 13h33
  2. [JSF] Durée des sessions
    Par bslota dans le forum JSF
    Réponses: 1
    Dernier message: 18/01/2006, 10h04
  3. detruire une cookie après fin de session
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2005, 16h02
  4. [VB.NET] Durée de session limitée ?
    Par Pari dans le forum ASP.NET
    Réponses: 3
    Dernier message: 28/04/2004, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo