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

Web Perl Discussion :

[session cgi] problème d'expiration de session


Sujet :

Web Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut [session cgi] problème d'expiration de session
    Bonjour et désolé

    Je suis désolé, vraiment de poster plusieurs fois sur le même sujet mais ce module cgi::session est dur utiliser pour moi.
    Voilà mon problème:
    Lorsque l'utilisateur se connecte, une session est crée (voir code ci-dessous):
    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
     
    if ($Res eq $user && $Res !="")
        {
              #Création de la session.
              $session=new CGI::Session("driver:File",undef,{Directory=>'../sessions'});
              $session->expire(3600);     
              $id=$session->id();
               $session->param("moi", "guillaume");
              print "<BR>id: $id<BR>";
              print "<BR><a href='./framejob.pl?CGISESSID=$id'>Accèder</a><BR>";
        }
        else
        {
              print "<SCRIPT>document.getElementById('statut').innerHTML='<font color=ff0000>EAN non valid</font>'</SCRIPT>";
        }
    Je n'obtiens pas l'apparition de mon lien qui permet d'accèder à la prochaine page (j'ai mis ça juste pour debugger et vérifier les différentes étapes).
    J'obtiens bien un sid.
    Mais j'ai une erreur qui m'empêche de continuer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Fri Jun 24 10:27:13 2005] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/File/expire.al in @INC (@INC contains: c:/Perl/lib c:/Perl/site/lib .) at c:\\PROGRA~1\\EASYPH~1\\test\\cgi-bin\\login.pl line 66\n
    Lorsque j'enlève dans mon script la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $session->expire(3600); #(je supprime cette ligne)
    alors j'obtiens l'apparition de mon lien et lorsque je clique dessus j'arrive sur une page qui m'affiche bien le même sid mais avec l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Fri Jun 24 10:44:16 2005] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/File/expire.al in @INC (@INC contains: c:/Perl/lib c:/Perl/site/lib .) at c:/Perl/site/lib/CGI/session.pm line 258\n
    Le code de la page chargée:
    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
     
    #!c:\perl\bin\perl.exe
    use CGI::session;
    use CGI;
     
    $cgi=new CGI;
    print "Content-type:text/html\n\n";
    $sid= $cgi->param("CGISESSID")||undef;
    print "<BR>SID: $sid<BR>";
    $session=new CGI::Session("driver:File",$sid,{Directory=>'../sessions'});
    $id=$session->id();
    print "id: $id<BR>";
    $nom=$session->param("moi");
    print "Nom: $nom\n";
    print "<HTML>";
    print "<FRAMESET ROWS='25,75' FRAMEBORDER=No BORDER=0>";
    print "<FRAME MarginWidth=20 Marginheight=30 frameborder='no' scrolling='no' SRC='./cgi-bin/JobMenu.pl' NAME='JobMenu'>";
    print "<FRAME SRC='./cgi-bin/job.pl' NAME='Job' Marginwidth=20 Marginheight=0 frameborder='no' xscrolling='no'>";
    print "</FRAMESET>";
    print "</HTML>\n";
    Sur cette page j'affiche bien le même sid mais c'est tout, une page blanche après.

    Voilà mon problème
    J'ai désinstallé et réinstallé le module cgi::session (version 3.95)
    l'erreur me dit qu'il manque le fichier expire.al (qui est présent pourtant dans le répertoire C:\Perl\site\lib\auto\CGI\Session\
    Lorsque je copie se fichier dans C:\Perl\site\lib\auto\CGI\Session\File, mon navigateur "tourne dan sle vide" et perl prend 100% des ressources.

    J'espère avoir bien expliqué mon problème.
    Encore une fois, je suis désolé de reposter sur les sessions.
    Bonne journée !
    tout le monde est d'accord pour critiquer la pensée unique

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Et bien le problème est règlé.
    En mettant
    au lieu de
    Et bien tout fonctionne à merveille.

    Le message d'erreur rencontré m'avait fait croire que j'importais le bon package. je ne m'explique toujours comment ça se fait que perl reconnaisse CGI::session et CGI::Session mais que ce ne sont pas les mêmes.

    Je tenais à poster cette réponse de résolution de problème car je n'ai vraiment trouvé beaucoup de pistes. La preuve:
    http://www.google.fr/search?biw=1004&hl=fr&q=auto%2FCGI%2FSession%2FFile%2Fexpire.al&btnG=Recherche+Google&meta=

    Bonne journée à vous tous.
    tout le monde est d'accord pour critiquer la pensée unique

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    t'arrives à recuperer tes variables ???

    j'ai essayé ton code et j'arrive pas à recupere les variables, dans la page chargée une nouvelle session est crée avec un nouvel id.

    quelqu'un peut m'aider ?

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

Discussions similaires

  1. Problème d'expiration de session Hibernate - Mysql
    Par mikak dans le forum Hibernate
    Réponses: 0
    Dernier message: 20/02/2012, 09h57
  2. Problème d'expiration de session
    Par animiobi dans le forum SpagoBI
    Réponses: 0
    Dernier message: 11/02/2009, 14h08
  3. [C#] Expiration de Session
    Par BiM dans le forum ASP.NET
    Réponses: 23
    Dernier message: 07/06/2006, 15h56
  4. [CGI]problème update de variable de session
    Par LE NEINDRE dans le forum Web
    Réponses: 1
    Dernier message: 18/10/2005, 10h50
  5. [Sécurité] Problème d'expiration de session
    Par marciv dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2005, 23h29

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