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 :

[Sécurité] probleme de vérification d'authentification


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut [Sécurité] probleme de vérification d'authentification
    Bonjour

    J'ai un projet a faire et je dois vérifier que le membre qui se connecte est bien présent dans la base.
    Malheureusement, le script me renvoi toujours vers la page d'erreur.
    Je n'arrive pas a savoir ce qui cloche, alors je fais appel à vous pour demander votre aide.

    Voici mon code :
    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
     
    <?php
      session_start();
     
       $_SESSION["login"] = $_GET['clogin'];
       $_SESSION["mdp"] = $_GET['cmdp'];
     
    $login = $_SESSION["login"];
    $mdp = $_SESSION["mdp"];
     
    $connexion = mysql_pconnect("localhost", "etudiant", "passe") or die("erreur de connexion, vérifiez vos identifiants et réessayez plus tard");
    mysql_select_db("projet", $connexion);
     
    //mysql_query("SELECT login FROM etudiant", $connexion);
     
    $sql = 'SELECT * FROM etudiant';
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    $trouve=0;
    while($data = mysql_fetch_assoc($req))
        {
    $id=$data['LOGIN'];
    $mdp1=$data['PASSWORD'];
     
     if ($login == $id and $mdp == $mdp1)
     {$trouve=1;
    break;}
    }
     
    if ($trouve==1) { ?><script language="javascript">window.location.replace("question1.html");</script><? ;}
    else { ?><script language="javascript">window.location.replace("erreur_login.htm");</script><? ;}
     
    mysql_close();
     
    ?>
    <html>
    <body>
    </body>
    </html>

  2. #2
    Membre habitué Avatar de ciesco
    Inscrit en
    Février 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 110
    Points : 127
    Points
    127
    Par défaut
    VErifie la valeur de ton $trouve.
    A mon avis l'erreur vient du fait que $trouve prend une valeur chelou qui ne serait pas non plus 0;
    TU devrais aussi virer ton break car si il est en double ca devrait marcher aussi.
    Si tu fais un echo sur id1 et mp1 il te dit quoi?

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    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
     
    <?php
     
    //Ouverture de la session
    session_start();
     
    if (isset($_SESSION["login"])) {
       echo "Votre session est ouverte, ".$_SESSION["login"];
    } else {
       //Session pas ouverte...
       //On vérifie les parametres
       if (isset($_REQUEST['clogin']) && isset($_REQUEST['cmdp']) {
          //On vérifie que l'utilisateur est autorisé
          $connexion = mysql_connect("localhost", "etudiant", "passe") or die("erreur de connexion, vérifiez vos identifiants et réessayez plus tard");
          mysql_select_db("projet", $connexion);
     
          $sql = "SELECT * FROM etudiant WHERE login = '". $_REQUEST['clogin'] ."' AND mdp = '". $_REQUEST['cmdp'] ."'";
          $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
          //Si un resultat => user trouvé
          if (mysql_num_rows($req) > 0) {
              $_SESSION["login"] = $_REQUEST['clogin'];
              echo 'Connexion réussie';
              include 'question1.html'; //a adapter
          } else {
              echo 'Connexion refusée, veuillez recommencer.';
              include 'erreur_login.htm';
          }
       } else {
          echo 'Paramêtres de connexion manquant';
       }
    }
    ?>

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    Ok ca marche, merci pour vos réponses j'ai utiliser $_REQUEST et remodifier et tout fonctionne

    Merci pour votre aide, je trouve que les forums developpez.net sont très bien fréquentés !

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par jfjava2002
    Ok ca marche, merci pour vos réponses j'ai utiliser $_REQUEST et remodifier et tout fonctionne

    Merci pour votre aide, je trouve que les forums developpez.net sont très bien fréquentés !
    Que du gratin

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

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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