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 :

Timeout pour une session


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 46
    Points
    46
    Par défaut Timeout pour une session
    salut tous,
    SVP je veux limiter la durée d'inactivité d'une session, j'ai essayé avec "Timeout" mais toujours la session est ouverte

    SVP avez vous autres solution pour limiter la durée de vie d'une session
    Maconfiguration est wampserver2.0 (apache 2.2.13, php 5.2.9-2) sur windows 2003

    Merci bcp, MSM

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    Salut à toi,

    Si tu as les droits pour modifier ton php.ini, le champ session.gc_maxlifetime devrait faire ton bonheur ! (google fera le reste...)

    Bonne soirée

    Cyril

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par ZeGuizmo Voir le message
    Salut à toi,

    Si tu as les droits pour modifier ton php.ini, le champ session.gc_maxlifetime devrait faire ton bonheur ! (google fera le reste...)

    Bonne soirée

    Cyril
    merci pour ta réponse,
    mais session.gc_maxlifetime c'est pour la durée totale de la session, et je veux limité la durée d'inactivité de session (le timeout)
    google m'a donné des solution basé sur la directive Timeout du apache mais le pb qu'elles n'ont pas marché

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 46
    Points
    46
    Par défaut
    J'ai essayé de modifier le fichier de config d'apache (httpd.conf) en ajoutant la directive Timeout 30
    mais le pb que toujours la session est valide même après des heures de connection sans touchant la page en question
    est ce qu'il y a des autres variables à toucher pour limiter l'accès

  5. #5
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Tout d'abord, la session peut être détruite de 2 façons
    1. coté client : le cookie de session contient l'identifiant de session donc quand le navigateur supprime le cookie de session, le visiteur perd la session même si la session existe encore sur le serveur. La durée de vie du cookie est fixée par la directive "session.cookie_lifetime" : http://php.net/session.configuration...ookie-lifetime
    2. coté serveur : il y a un système de nettoyage (en anglais Garbage Collector, initiales "GC") qui s'occupe de nettoyer les vielles sessions coté serveur. ce sytème est configuré avec les directive qui commencent par les lettres "gc" c'est à dire :

      La durée de vie coté serveur est indiquée dans "session.gc_maxlifetime" et vaut par défaut 24 minutes. ça ne veut pas dire que les session sont supprimées au bout de 24 minutes, ça veut dire que le système de nettoyage ne touche pas aux sessions avant 24 minutes.
      le système de nettoyage ne se lance pas tout le temps, son lancement est configuré avec les directives "session.gc_probability" et "session.gc_divisor". la configuration par défaut fait que le nettoyage est fait seulement 1 fois sur 100, ce qui veut dire que si personne d'autre que toi utilise le serveur, tu devras rafraîchir 100 fois la page avec que le nettoyage se lance.


    Dans ton cas, puisque tu es sur un serveur de test, tu peux mettre 100 pour "session.gc_probability" pour que le nettoyage se fasse à chaque appel de page.

    une fois cette configuration en place, je pense que c'est la durée de 24 minutes qui est trop longue pour toi donc tu peux réduire la valeur de "session.gc_maxlifetime"

Discussions similaires

  1. Paramètre session-timeout pour une action
    Par pipla31 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/12/2012, 12h29
  2. [Web Service][SOAP] Comment définir un timeout pour une connexion SOAP ?
    Par lehic dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/06/2007, 18h07
  3. [Sécurité] Pb PHP pour une session membre
    Par fredylover dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2006, 09h59
  4. Ajouter une clé pour une session non ouverte
    Par prgasp77 dans le forum Windows
    Réponses: 4
    Dernier message: 29/10/2005, 01h26
  5. [Struts] paramétrer le timeout d'une session
    Par babylone7 dans le forum Struts 1
    Réponses: 2
    Dernier message: 18/08/2005, 19h19

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