Bonjour,
je développe (je suis un développeur du dimanche) depuis peu en php avec accés dans une base mysql (mes pages sont hébergées chez un fai que je ne citerai pas pour ne pas lui faire de la pub)... bref.
La finalité de mon application est d'avoir accés en ligne à mon carnet d'adresses (nom, adresse, email...etc..) et pour accéder à tout celà on s'authentifie.
J'ai donc 2 tables dans ma base (qui ne sont pas liées par des relations) et il n'y a aucune clé primaire (aucun besoin).
Une table qui va contenir le carnet d'adresses (avec les champs énumérés ci-dessus) et une autre table qui va contenir l'identifiant des utilisateurs, leur mot de passe (jusque là en clair) sans oublier le niveau de sécurité (2 niveaux : niveau 1 = utilisateur en lecture seule // niveau 2 = administrateur)
Voici mon problème
Je suis allé sous la base mysql (en commande sql) et j'ai crypté dans ma table utlisateurs (identifiant, mot de passe, niveau de sécurité) le mot de passe d'un de mes utilisateurs (à titre d'exemple)
ma requête sous mysql est la suivante :
INSERT INTO users (Identifiant,Mot2passe,Securite) VALUES('tartampion',PASSWORD('toto'),'1')
Le mot de passe est crypté
Ensuite, j'essaie d'accéder par mes pages php avec le compte tartampion (dont le mot de passe vient d'être crée et crypté) mais ça ne passe pas car forcemment je lui ai pas dit de crypter dans le formulaire enfin si j'ai essayé mais mauvaise syntaxe ou mauvaise connaissance de php alors j'ai enlevé et je vous demande de l'aide pour que lorsque l'utilisateur s'authentifie (dans ma page ci-dessous), le mot de passe soit envoyé crypté.
J'aimerai crypter mes mots de passe dans ma table car des mots de passe en clair, ça le fait pas.
La page suivante sert à authentifier déjà l'utilisateur (à partir d'un formulaire) dans la base puis à voir le niveau de sécurité de l'utlisateur (admin ou utilisateur) et c'est dans cette page qu'il faudra que je lui dise de crypter le mot de passe envoyé par l'utlisateur.
Ma page contient le code suivant (le résultat c'est qu'avec le PASSWORD(...), j'obtiens le résultat mauvais login/mot de passe (que je tape un utilisateur avec un mot de passe crypté ou en clair dans la base mysql :
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 <? session_start(); include("connection.php"); if($_POST){ $_SESSION['Identifiant']=$_POST["Identifiant"]; $_SESSION['Mot2passe']=$_POST["Mot2passe"]; } session_regenerate_id (); $res =mysql_query("select Securite from utilisateurs where Identifiant='" . $_SESSION['Identifiant'] . "' and Mot2passe=PASSWORD('" . $_SESSION['Mot2passe'] . "')"); $ligne = mysql_fetch_row($res); switch ($ligne[0]) { case 1: Include("Menu1.php"); break; case 2: Include("Menu2.php"); break; } $num=mysql_num_rows($res); if($num < 1){ include("autorisation.htm"); exit; } ?>
Partager