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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Probleme de durée de session


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut Probleme de durée de session
    Bonjour,
    Tout est dans le titre.
    J'utilise wamp pour tester un site avec connection ou admin ou membre, et quelque soit le temps que je met dans session.gc_maxlifetime de php.ini, je déconnect et pas suivant un laps de temps précis c'est très irrégulier.
    Quelqu'un à t'il une idée.
    Merci

  2. #2
    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

    Est tu certain d'avoir modifier le bon php.ini ?
    As tu redémarrer les services (au moins Apache) ?

    Si c'est Php que tu utilise, fait un ini_get('session.gc_maxlifetime') pour vérifier sa valeur.

    Sinon, tu peux aussi changer cette directive via un .htaccess dans le site Web, l'avantage c'est que ça s'appliquera uniquement pour ce site là, et non tous les sites en développement.

  3. #3
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    Bonjour RunCodePhp,
    Est tu certain d'avoir modifier le bon php.ini ?
    J'en ai qu'un dans mes fichiers configurations de WAMP

    J'ai poussé un peu plus loin ma recherche et en fait, je suis sous FF et quand je vais voir mes cookies ma session est bien présente, mais ce sont sans doute les valeurs de mes variables sessions qui disparaissent sans être réinitialisée.
    A+

  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
    J'en ai qu'un dans mes fichiers configurations de WAMP
    C'est à dire ? C'est vague.

    Des php.ini il y en a au moins 2, et il y en a qu'1 qui sera tenu compte.
    Le bon php.ini se trouve dans : (de mon coté pour exemple)
    D:\wamp\bin\apache\Apache2.2.17\bin
    Au niveau de Apache (pas de Php).

    Mais le plus simple c'est d'exploiter WampServer (icon dans la barre des tâches) : Php -> php.ini
    Ca ouvrira le bon php.ini

    Donc mêmes question : Est tu certain d'avoir modifier le bon php.ini ?
    Puis as tu redémarrer Apache pour que la nouvelle valeur soit prise en compte ?

    Puis les vérifications que tu fais ne servent pas à grand choses.
    Fait un ini_get() comme je te l'ai dis, c'est nettement plus pertinent comme info.
    Ou alors fait un phpinfo().


    Mis à part ça, même si tu réinitialise des variables de sessions, normalement une session doit rester la même, conserver son même identifiant.

    Puis la durée d'expiration n'a normalement aucun rapport la dedans, sauf si on modifie soit même le temps d'expiration du cookie ou/et de session.

  5. #5
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    Mais le plus simple c'est d'exploiter WampServer (icon dans la barre des tâches) : Php -> php.ini
    Ca ouvrira le bon php.ini
    C'est ce que je fais, et c'est pour ça que j'ai dis que j'en avais qu'un.
    Ma valeur cela fait trois jours que je l'ai modifiée, donc au moin trois redémarage PC, donc a mon sens trois redémarage Apache.
    Je vais essayer avec ini_get()
    A+

  6. #6
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    Avec ini_get() j'ai:

    Warning: Wrong parameter count for ini_get()

  7. #7
    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
    C'est pourtant correcte ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ini_get('session.gc_maxlifetime');
    T'as dû faire une erreur.

    Plus simple, fait un phpinfo(), puis recherche la ligne gc_maxlife (partie session).

  8. #8
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    Avec phpinfo() je n'ai que ça:
    System Windows NT G 5.1 build 2600
    Build Date Nov 8 2007 23:18:08
    Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared"
    Server API Apache 2.0 Handler
    Virtual Directory Support enabled
    Configuration File (php.ini) Path C:\WINDOWS
    Loaded Configuration File C:\wamp\Apache2\bin\php.ini
    PHP API 20041225
    PHP Extension 20060613
    Zend Extension 220060519
    Debug Build no
    Thread Safety enabled
    Zend Memory Manager enabled
    IPv6 Support enabled
    Registered PHP Streams php, file, data, http, ftp, compress.zlib
    Registered Stream Socket Transports tcp, udp
    Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.*

  9. #9
    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
    Avec phpinfo() je n'ai que ça:


    T'es sûr que WampServer est bien installé (et compilet) ?
    Ou que tout soit bien démarré (Apache, Php, MySQL) ?

    Parce que là, un phpinfo() renvoie largement plus d'info.
    Il y a rien concernant Php, Apache, les entêtes, librairies, modules, etc, etc ...

    D'ailleurs, ton erreur du ini_get() auparavant laisse largement supposer que l'installation pose problème.

    Tu parviens à coder en Php et faire une requête MySQL par exemple avec ça ?

  10. #10
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    Complet je suppose, en tout cas je n'ai rien fait pour être sélectif.
    Quand je vais voir mes service Apache est bien démarré
    Si je test mon port 80 j'ai:
    Your port 80 is actually use by:
    Sever: Apache/ 2.2.6 win 32 php/5.2.5
    Tu parviens à coder en Php et faire une requête MySQL par exemple avec ça
    Tout mes php et requettes SQL marchent très bien, seul la durée mon login pose problème

  11. #11
    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
    Ca me semble anormal que tu n'obtienne pas les informations complètes du phpinfo().
    Mais si tu pense que tout fonctionne correctement, alors fait le ini_get() en question.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ini_get('session.gc_maxlifetime');
    Ce code doit te renvoyer le nombre de secondes (le durée).
    Ce code est fonctionnel de mon coté.
    Je ne vois pas pourquoi ça ne fonctionnerait pas de ton coté.


    Avant de faire quoi que ce soit, il faut au moins connaitre cette durée.
    Fais aussi un session_get_cookie_params(), ça renvoie un tableau et entre autre la date d'expiration.

  12. #12
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    J'ai la valeur que j'avais mise soit 5440, comme 1440 déconnectais.
    A moins que cela ne vienne de mon script de connection que j'ai récupéré sur le net pour la protection des pages et qui me r'envoie de temps quasi systématiquement au login.
    Au cas ou je te join se srcript.
    Je dois m'absenter une heur environ.
    A+
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php 
    session_start() ;
    $MM_authorizedUsers = "membre,admin";
    $MM_donotCheckaccess = "false";
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
     $isValid = False; 
    if (!empty($UserName)) { 
     $arrUsers = Explode(",", $strUsers); 
        $arrGroups = Explode(",", $strGroups); 
        if (in_array($UserName, $arrUsers)) { 
          $isValid = true; 
        } 
        if (in_array($UserGroup, $arrGroups)) { 
          $isValid = true; 
        } 
        if (($strUsers == "") && false) { 
          $isValid = true; }   } return $isValid; }
     
    $MM_restrictGoTo = "../Index.php";
     
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) 
      $MM_referrer .= "?" . $QUERY_STRING;
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo); 
      exit;
    }
    ?>

  13. #13
    GYK
    GYK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Par défaut
    J'ai réinstallé WAMP et j'ai un plus d'info, mais ma déconnection continue.
    Je post la partie session
    session
    Session Support enabled
    Registered save handlers files user sqlite
    Registered serializer handlers php php_binary wddx

    Directive Local Value Master Value
    session.auto_start On On
    session.bug_compat_42 On On
    session.bug_compat_warn On On
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain no value no value
    session.cookie_httponly Off Off
    session.cookie_lifetime 1339 1339
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 100 100
    session.gc_maxlifetime 5440 5440
    session.gc_probability 1 1
    session.hash_bits_per_character 4 4
    session.hash_function 0 0
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path c:/wamp/tmp c:/wamp/tmp
    session.serialize_handler php php
    session.use_cookies On On
    session.use_only_cookies Off Off
    session.use_trans_sid 0 0
    Si ça peut vous aider
    Merci

Discussions similaires

  1. probleme de duree de session
    Par lesafir dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 09/08/2007, 11h38
  2. [Sécurité] Problème durée de session
    Par flydragon dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2006, 09h19
  3. [Session]Problème de fermeture de session
    Par july dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/06/2005, 12h25
  4. [JSP] probleme d'invalidation de session
    Par Jovial dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 04/06/2004, 15h27
  5. [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