A voir également:
- Mot de passe hash MD5
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
3 réponses
Salut salut,
Oui oui tu peux, normaement tes mot de passe sont cryptés en bdd, lors de l'authentification ce que tu fais c'est que tu récupères le mot de passe crypté , tu crypte en md5 le mot de passe que l'utilisateur t'envoie et tu compares les cryptages, s'ils sont égaux => c'est bon !
Oui oui tu peux, normaement tes mot de passe sont cryptés en bdd, lors de l'authentification ce que tu fais c'est que tu récupères le mot de passe crypté , tu crypte en md5 le mot de passe que l'utilisateur t'envoie et tu compares les cryptages, s'ils sont égaux => c'est bon !
Dans ta requête en base :
Si tes mots de passe en base sont en md5 il faut comparer le ctyptage :
'SELECT * FROM membre WHERE pseudo="'.$login.'"AND password="'.$pass.'" AND activer=1'
Si tes mots de passe en base sont en md5 il faut comparer le ctyptage :
'SELECT * FROM membre WHERE pseudo="'.$login.'"AND password="'.md5($pass).'" AND activer=1'
kyser soze tu as raison, effectivement le risque de collision avec des variables existantes , modification ou non et de ne pas maîtriser les variables est grande.
Son utilisation n'est pas très efficace ici.
Mais même supprimer ne règle pas mon problème.
J'ai testé pour un mot de passe non crypté, il n'y a pas de souci avec code.
Son utilisation n'est pas très efficace ici.
Mais même supprimer ne règle pas mon problème.
J'ai testé pour un mot de passe non crypté, il n'y a pas de souci avec code.
<?php // On démarre la session session_start(); $login = mysql_real_escape_string($_POST['login']); $pass = mysql_real_escape_string(md5($_POST['pass'])); $loginOK = false; // cf Astuce // On n'effectue les traitements qu'à la condition que les informations aient été effectivement postées if ( isset($_POST) && (!empty($login)) && (!empty($pass)) ) { extract($_POST); if ((isset($_SESSION['pseudo'])) && (($_SESSION['pseudo'])== $login)){?> <script language = "JavaScript">; alert('Vous etes deja connecte, redirection vers la page...'); document.location.href="index.php"; </script> <?php } else{ // On va chercher le mot de passe afférent à ce login $sql = ('SELECT * FROM membre WHERE pseudo="'.$login.'"AND password="'.$pass.'" AND activer=1'); $req = mysql_query($sql) or die('Erreur parametres de connexion : <br /><h1>'.mysql_error().'</h1>'); $dataNum = mysql_num_rows($req); // On vérifie que l'utilisateur existe bien if ($dataNum > 0) { $data = mysql_fetch_assoc($req); // On vérifie que son mot de passe est correct if ($pass == $data['password']) { $loginOK = true; if(!isset($erreur)){ // Si le login, toutes les autres donnees sont ont été validé on met les données en sessions $_SESSION['nom'] = $data['nom']; $_SESSION['prenom'] = $data['prenom']; $_SESSION['pseudo'] = $data['pseudo']; } ?> <script language = "JavaScript">; alert('Vous etes maintenant connectes'); document.location.href = 'index.php'; </script> <?php } } else{?> <script language = "JavaScript">;alert('Vos parametres de connexion sont incorrects ou le pseudo est en cours d\'utilisation'); document.location.href = 'connexion-membre.php'; </script> <?php } } } ?>