Probleme md5() [Resolu], edit: encore un bleme...

Discussion dans 'Web, design' créé par Styleman, 11 Août 2003.

Statut de la discussion:
Fermée.
  1. Offline
    Styleman Touriste
    Bonjour,

    Alors voila, j'ai un petit espace membres qui fonctionne tres bien, mais les mot de passe ne sont pas crypté, donc je peux voir les mot de passe de tout le monde lol, mais comme le site n'est paz encore public ça va...mais comme il va l'etre, j'aimerais bien encoder en md5() donc je fais comme si dessous lors de l'inscription:


    Code:
    <?
    if (empty($nom) OR empty($prenom) OR empty($email) OR empty ($login) OR empty ($password))
    {
    echo '<font color="red">Attention, les champs marqués d un * ne peuvent etre vides!</font>';
    }
    if(!ereg("\.",$email) || !ereg("@",$email))
    {
    echo '<font color="red">adresse email non valide</font>';
    }
    else
    {
    $db = mysql_connect('mysqlbox', 'pse', '********');
    mysql_select_db('pse',$db);
    
    $password = md5(password);
    
    $sql = "INSERT INTO membres_tbl VALUES('','$nom','$prenom','$login','$password', '$email','$date','$jeux','$console','$hobby','$connexion', '$emploi','','$comment')";
    
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    
    echo 'Vos informations ont été ajoutées dans notre base.';
    
    echo "<META HTTP-EQUIV=Refresh CONTENT=2;URL=index.php>";
    
    mysql_close();
    }
    ?>

    --------------------------

    Code:
    <?
    $db = mysql_connect('mysqlbox', 'pse', '******');
    mysql_select_db('pse',$db);
    
    if($login=='' || $password=='')
    {
    echo 'Vous avez oublié de remplir un champs.';
    include('login.htm');
    exit;
    }
    
    $sql = "select password from membres_tbl where login='$login'";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
    $data = mysql_fetch_array($req);
    
    $pass = md5(password);
    
    if($data['password'] != $pass)
    {
    echo 'Mauvais login ou pass';
    include('login.htm');
    exit;
    }
    else
    {
    session_start();
    session_register('login');
    session_register('password');
    
    header('location: index.php');
    }
    ?>
    ----------------------------

    Ce n'est pas bon?

    Merci de me repondre, il me met que le mot de passe est incorrect...

    Aurevoir[/code]
    Styleman, 11 Août 2003
    #1
  2. Offline
    Styleman Touriste
    ah c bon j'ai trouve!

    En fait, dans le formulire d'indentification...ben j'avais mis le nombre maxi de caractere a 15...alors k'en md5 y'en a 32...


    GG StY t'es trop con...mais c pas grave!!!

    THX all
    Styleman, 11 Août 2003
    #2
  3. Offline
    Styleman Touriste
    now j'ai un autre probleme:

    Voila mon code :

    <?

    if(!session_is_registered('password'))
    {
    echo 'Non identifié';
    include('login.htm');
    }
    else
    {
    $db = mysql_connect('mysqlbox','pse','*********');
    mysql_select_db('pse',$db);

    $sql = "select * from membres_tbl where login='$login' and password='$password'";
    $req = mysql_query($sql) or die('Erreur SQL!<br>'.sql.'<br>'.mysql_error());
    $NbRep = mysql_num_rows($req);

    if($NbRep != 0)
    {
    $ligne = mysql_fetch_array($req);
    echo '<div align=left>Bonjour '.$ligne['login'].'<br>';
    echo ' <img src=news/images/bouton2.gif> <a href=index.php?rub=17><SPAN CLASS="grasnoir">Profil</SPAN></a><br>';
    echo ' <img src=news/images/bouton2.gif> <a href=index.php?rub=18><SPAN CLASS="grasnoir">Modifier infos</SPAN></a><br>';
    echo ' <img src=news/images/bouton2.gif> <a href=index.php?rub=24><SPAN CLASS="grasnoir">Messagerie</SPAN></a><br>';
    echo ' <img src=news/images/bouton2.gif> <a href=logout.php><SPAN CLASS="grasnoir">Logout</SPAN></a><br><br>';

    if($ligne['admin']==1)
    {
    echo '<a href=index.php?rub=19><SPAN CLASS="grasnoir">Admin</SPAN></a><br>';
    }
    }
    else
    {
    echo 'Compte inexistant';
    }
    }
    ?>

    Il me met toujours compte inexistant quand je me connecte, pourtant, losque j'enleve password='$password' du WHERE ça fonctionne nickel, c'est donc un probleme avec l'encodage du md5...

    comme j'ai fais session_register('password'); il enregistre le password (qui a deja été encoder en md5) et donc ça devrais rouler, j'ai testé, j'ai mis avant:

    password = md5(monpass);

    et ça a fonctionné!!!

    Je peux savoir ou est l'erreur?

    Merci beaucoup
    Styleman, 11 Août 2003
    #3
  4. Offline
    Petit_Raisin Elite
    beh j'ai po lu tout ton code mais bon :

    avec de faire ta query pour vérifier l'utilisateur ==> transforme son mot de passe en md5 et avec ce md5 fait la query

    lorsqu'un utilisateur s'enregistre, tu transformes directement son password en md5. C'est ce que je fais sur mon site, ce que phpbb fait et ca fonctionne tres bien :oops:
    Petit_Raisin, 11 Août 2003
    #4
  5. Offline
    niafron ex membre

    .... mmmmh .... nb c sur que ca allait sortir un de c 4 un ptit truc pareil :)
    niafron, 11 Août 2003
    #5
  6. Offline
    Styleman Touriste
    Si il y arrive...chapeau
    Styleman, 11 Août 2003
    #6
  7. Offline
    dRex Xaxaxa
    $password dans le where, c'est bien le pass en md5 ?
    dRex, 11 Août 2003
    #7
  8. Offline
    Styleman Touriste
    Marche toujours pas...mais bon spa grave, suffit que dans ma query je retire le and password='$password'

    Merci

    ++
    Styleman, 11 Août 2003
    #8
  9. Offline
    décodant ?

    normalement, le md5 n'est pas un algorithme à sens unique ?
    TheFornicator, 11 Août 2003
    #9
  10. Offline
    smoka Touriste
    ben ué.. ça pue le mytho :]
    smoka, 11 Août 2003
    #10
  11. Offline
    Styleman Touriste
    ben, le md5 kan ça crypte un mot, on obtient toujours le meme resultat, donc y'a toujours moyen, mais bon, si il y arrive, ton pote c le new kevin mytnic ou chais plus trop koua


    et pour drex, oui le password est en md5 dans la query, mais de toute fzaçon, j'ai pas besoin de mettre le and password='$password', login suffit...
    Styleman, 11 Août 2003
    #11
  12. Offline
    dRex Xaxaxa
    ouaih, j'ai mieu regardé ton code apres :p je sai pas trop ce qui viens avant mais ca peut p-e causer un probleme de securité par contre.
    dRex, 11 Août 2003
    #12
  13. Offline
    Styleman Touriste
    T'inquiete, j'ai inclu une page ki verifie avant, mais la tu ne vois pas c pas dans le code :wink:
    Styleman, 11 Août 2003
    #13
Statut de la discussion:
Fermée.