Bonjour,
J'ai créé un petit formulaire prenant en compte:
-un identifiant
-un mot de pass
Cependant, le mot de pass est hashé en SHA1 dans la base de donnée. Je ne sais donc pas vraiment comment faire pour vérifier que le mot de passe entré soit comparé au mot de passe chiffré.
Formulaire HTML:
Partie 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
16
17
18
19
20
21
22
23
24
25
26
27
28 <html> <head> <title>Connexion au site</title> </head> <body> <form method="post" action="verifLogin.php"> <table border="0" width="400" align="center"> <tr> <td width="200"><b>Vôtre login</b></td> <td width="200"> <input type="text" name="username"> </td> </tr> <tr> <td width="200"><b>Vôtre mot de passe<b></td> <td width="200"> <input type="password" name="sha_pass_hash"> </td> </tr> <tr> <td colspan="2"> <input type="submit" name="submit" value="login"> </td> </tr> </table> </form> </body> </html>
En espérant obtenir de l'aide
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 <?php // On démarre la session session_start(); $loginOK = false; // On n'effectue les traitement qu'à la condition que // les informations aient été effectivement postées if ( isset($_POST) && (!empty($_POST['username'])) && (!empty($_POST['sha_pass_hash'])) ) { extract($_POST); // on se connecte à MySQL $db = mysql_connect('localhost', 'demonyak', '******'); // on sélectionne la base mysql_select_db('madb',$db); // On va chercher le mot de passe afférent à ce login $sql = "SELECT username, epk, sha_pass_hash FROM account WHERE username = '".addslashes($username)."'"; $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 ($sha_pass_hash == $data['sha_pass_hash']) { $loginOK = true; } } } // Si le login a été validé on met les données en sessions if ($loginOK) { $_SESSION['username'] = $data['username']; $_SESSION['epk'] = $data['epk']; } else { echo 'Une erreur est survenue, veuillez réessayer !'; } ?>
Bonne journée à tous.
Partager