une connexion cocernat le criptage du mot de passe

laetis
Invité n'ayant pas de compte PHPfrance

15 mars 2007, 23:57

re bonjour
voici mon probleme
dans ma page inscription j'ai declarer
<?php 
if(isset($_POST['motdepasse']))      $motdepasse= md5($_POST['motdepasse']);
else      $motdepasse="";?>
puis dans mon formulaire j'ai mis action="add.php" afin qu'il aille verifier les code et surtout j'ai mis type="password" pour que mon mot de passe soit cripté lorsque l'on ecrit

ensuite dans ma page connexion j'ai remi un formulaire ou l'on retrouve le mot de passe tjs cripté pis un action="verif.php" pour qu'il aille me chercher le mot de passe et le login dans ma base
seulement dans ma page verif je ne sais pas ou remettre le fait q'uil soit cripté ce qui fé kil me dit que mon login et mauvais
voici mon code de la page verif
<?php
require_once('connexionalabase.php'); ?>
<?php
$loginOK = false;  
// On n'effectue les traitement qu'à la condition que 
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['motdepasse'])) ) {
  extract($_POST);  
  // On va chercher le mot de passe afférent à ce login
  $sql = "SELECT login, motdepasse FROM utilisateurs WHERE login = '".addslashes($login)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
  // On vérifie que l'utilisateur existe bien
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);
    // On vérifie que son mot de passe est correct
    if ($motdepasse == $data['motdepasse']) {
     $loginOK = true;
    }
  }
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
header('location:contactformulairok.php');
exit;
}
else {
header('location:connexionechec.php');
}
?>
savez vous comment faire pour qu'il soit cripté de la meme facon ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mars 2007, 00:09

Modération :
laetis, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

laetis
Invité n'ayant pas de compte PHPfrance

16 mars 2007, 00:38

d'accord pardon
tu n'as pas de solution a mon probleme ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mars 2007, 09:38

Puisque tu as haché le mot de passe lors de l'insertion dans la base de données, la valeur que tu extrait de la base ($data['motdepasse'])est elle aussi hachée

Donc, il faut que tu haches la valeur que le membre à saisi dans le formulaire pour la comparer avec la valeur extraite de la base de données
if (md5($motdepasse) == $data['motdepasse']) { 
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer