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 :

Durée de vie session et activité navigateur [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut Durée de vie session et activité navigateur
    Bonjour à tous,

    J'ai lu FAQ's et tutos concernant la durée de vie des sessions. Ca ne manque pas ! J'aurais cependant besoin de précisions :

    Voici comment je règle la durée de vie d'une session de login dans un espace membres (on suppose que mon serveur accepte ini_set):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //la valeur par défaut de $Lifetime est 1400 sec (24mn).
    $Lifetime = 600; // réglage à 10mn
    ini_set("session.gc_maxlifetime", $Lifetime);
    ini_set("session.gc_divisor", "1");
    ini_set("session.gc_probability", "1");
    ini_set("session.cookie_lifetime", 0);
    Avec ce réglage, la session va théoriquement être détruite après 10mn.
    Mais ma question est : va-t-elle se détruire même si le navigateur est actif ? Je veux dire par là : si un user est en train de remplir un formulaire très long, et que ça dure 30mn, est ce qu'il va tout perdre en le validant ?
    Ou bien est ce que ça tient compte de l'activité ?

    Et si non, comment régler cela : fin d'une session après XX minutes d'inactivité ?

    Merci d'avance pour vos lumières.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le serveur ne sait pas que l'utilisateur est en train de taper sur son clavier, ni même que son navigateur est ouvert ; tout ce qu'il sait c'est que ca fait 10min qu'il ne lui a rien dit.

    Pour parler de conception web, s'il faut plus de 10min pour remplir un formulaire sur page, il faut revoir la façon dont tu fais remplir les données à l'utilisateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Pour parler de conception web, s'il faut plus de 10min pour remplir un formulaire sur page, il faut revoir la façon dont tu fais remplir les données à l'utilisateur.
    Bonjour, peux-tu préciser ?
    Est ce que la session est rechargée ("repoussée") quand l'utilisateur change de page ?

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Théoriquement la durée de la session est remise à 0 à chaque fois que l'internaute change de page, à chaque requête HTTP du serveur.
    Elle est donc repoussée, la date d'expiration sera en fonction de la durée de la session (600 s dans ton cas), soit : le temps courant + 600 sec.

    Si l'internaute s'endort devant son écran au-delà de la date d'expiration, alors une autre session lui sera accordée, il y aura donc perte des données de l'ancienne session.

    A titre personnel, 10 minutes me semble trop court, 30 minutes me parait raisonnable. Les 1440 sec (soit 24 minutes) défini par défaut aussi.
    L'internaute peu toujours recevoir un coup de fil ... un petit besoin urgent ... se prendre un p'tit café, etc ... bref ... une full de raisons pour dire que 10 minutes c'est un peu short

  5. #5
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Merci pour vos éclaircissements.
    Bonne journée.

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

Discussions similaires

  1. Durée de vie des sessions et fermeture du navigateur
    Par taffMan dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2008, 11h05
  2. Durée de vie d'une session
    Par scorpion.os dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2007, 15h22
  3. Durée de vie d'une session
    Par khokho dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 28/06/2006, 21h31
  4. Réponses: 3
    Dernier message: 27/04/2006, 11h37
  5. Durée de vie d'une session
    Par dbass dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2006, 19h38

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