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 :

[Configuration] Problème avec un script de login utilisant une session


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut [Configuration] Problème avec un script de login utilisant une session
    J'ai 2 scripts php utilisant une session, le premier est la page permettant de se connecter et le second est inclu dans chaque page protégée. Il fonctionne très bien mais le problème est que si je ferme mon borwser et que je me reconnecte, il peut (le browser) aller directement aux pages protégée, ma session est censée etre détruite lors de la fermeture du browser, je pense que ce n'est pas le cas (le responsable du serveur à peut-etre changé php.ini), ca m'embete car si je marque session_destroy(); dans les pages à protégé ca ne marchera pas comme je veut car la variable sera détruite et je devrai me reconnecté pour acceder aux autres pages protégés. Je ne veut devoir m'autentifier qu'une seule fois!!!

    Est-ce que quelq'un connait un moyen pour forcer la destruction de la session mais uniquement lors de la fermeture du browser?

    Mon code:

    Pour le login:
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?
     
    echo ("<br><br><center><font size='+2'><u>Control Panel</u></font><br><br><br>");
    echo ("<link rel='stylesheet' href='administration/style.css' type='text/css'>");
    echo ("<table border='1' bordercolor='#FFFFFF'><tr><td colspan='2' align='center'><font size='+1'>Connexion</font></td></tr>");
    echo ("<tr><td><form action='index.php3' method='post'>Identifiant</td><td><input type='text' name='log' size='20' maxlength='20'></td></tr>");
    echo ("<tr><td>Mot de passe</td><td><input type='password' name='pass' size='20' maxlength'20'></td></tr>");
    echo ("<tr><td colspan='2' align='center'><input type='submit' name='submit' value='Connexion'></td></tr></center>");
     
     
    $jlog='henry-nicolas';
    $jpass='21121987';
     
    $state= false;
     
    $log=$_POST['log'];
    $pass=$_POST['pass'];
    $submit=$_POST['submit'];
     
     
    if ($submit == true)
    {
    	if ( $log != $jlog || $pass!= $jpass)
      {
    		echo ('Votre mot de passe ou votre identifiant est incorrect');
    		echo ("<script language='javascript'>window.location='index.php3';</script>");
    		exit;
      }
    	else if ($log == $jlog && $pass == $jpass)
      {
    		echo ("<script language='javascript'>window.location='administration/index.php';</script>");
        $state = true;
        session_start();
        session_register("state");
    		exit; 
      }
    	else
      {
    		echo("Erreur, veuillez recommenc&eacute; svp...");
    		echo ("<script language='javascript'>window.location='index.php3';</script>");
    		exit;
      }
    }
    ?>
    Dans les pages à protégé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    	if(!session_is_registered("state")) 
    	{
    		if (state != true)
    		{
    			echo("<script language='javascript'>window.location='../index.php3'</script>;");
    		}
    	}
    	else
    	{
    		echo("<script language='javascript'>window.location='../index.php3'</script>;");
    	}
     
    	?>
    Merci d'avance...
    The box said : "Requires windows 95, NT or better" so I installed Linux.

  2. #2
    Jep
    Jep est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Avant de t'enerver commance par vérifier la configuration des sessions sur ton serveur en regardant ton phpinfo et en corrigeant ce qui est necessaire en lisant la doc PHP

    > http://php.net/session


  3. #3
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut
    Ben normallement ca devrait marché...mon php.ini a la config de base et j'ai un peut modifier mon code, l'effet obtenu est une redirection continuelle vers le fichier index.php3, autrement-dit peut-importe ce que j'écris comme login et comme pass je suis tjs rediriger vers index.php3, je crois que le pb viens de mon code et non de la config du serveur.
    Le code: Index.php3
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?
    session_start();
     
    echo ("<br><br><center><font size='+2'><u>Control Panel</u></font><br><br><br>");
    echo ("<link rel='stylesheet' href='administration/style.css' type='text/css'>");
    echo ("<table border='1' bordercolor='#FFFFFF'><tr><td colspan='2' align='center'><font size='+1'>Connexion</font></td></tr>");
    echo ("<tr><td><form action='index.php3' method='post'>Identifiant</td><td><input type='text' name='log' size='20' maxlength='20'></td></tr>");
    echo ("<tr><td>Mot de passe</td><td><input type='password' name='pass' size='20' maxlength'20'></td></tr>");
    echo ("<tr><td colspan='2' align='center'><input type='submit' name='submit' value='Connexion'></td></tr></center>");
     
     
    $jlog='henry-nicolas';
    $jpass='21121987';
     
    $state= false;
     
    $log=$_POST['log'];
    $pass=$_POST['pass'];
    $submit=$_POST['submit'];
     
     
    if ($submit == true)
    {
    	if ( $log != $jlog || $pass!= $jpass)
      {
    		echo ('Votre mot de passe ou votre identifiant est incorrect');
    		echo ("<script language='javascript'>window.location='index.php3';</script>");
    		exit;
      }
    	else if ($log == $jlog && $pass == $jpass)
      {
    		echo ("<script language='javascript'>window.location='administration/index.php';</script>");
    		$state= true;
        session_register("state");
    		exit; 
      }
    	else
      {
    		echo("Erreur, veuillez recommenc&eacute; svp...");
    		echo ("<script language='javascript'>window.location='index.php3';</script>");
    		exit;
      }
    }
    ?>
    Et la page protégé (index.php)
    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
    <?
    	session_start();
    	if(!session_is_registered('state')) 
    	{
        if (state != true)
    		{		
    			echo("<script language='javascript'>window.location='../index.php3'</script>;");
    		}
    	}
    	else
    	{
    		echo("<script language='javascript'>window.location='../index.php3'</script>;");
    	}
     
    	?>
    Le fait d'aller sur php.net ne m'a pas aider vraiment...ce qui serait super c'est que quelqu'un me dise ou mon code foire et ce qui ne vas pas...
    The box said : "Requires windows 95, NT or better" so I installed Linux.

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/05/2011, 10h08
  2. Problème avec un script de login
    Par sagitarium dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2006, 17h51
  3. Problème avec un script d'ouverture de pop-up
    Par HNT dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/08/2005, 16h37
  4. problème avec un script de generation de nom de login
    Par black_code dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2005, 13h51
  5. [IDHTTP] Problème avec la methode post (login:pass@ww.url)
    Par Rayek dans le forum Web & réseau
    Réponses: 5
    Dernier message: 11/07/2005, 10h03

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