Salut à tous^^

J'ouvre un autre petit topique car la, ça fait 2jours que je pêche sur un truc qui pour beaucoup serait un truc tout bête ><
Dans mon site, il y a une faille de sécurité, les mot de passe ne sont pas hashé dans la BDD, alors pour résoudre le souci, je suis allé voir des tuto m'indiquant comment faire. Mais lorsque je hashe mes mot de passe, ils le sont bien dans la BDD dans le charabia voulu, mais par contre, je ne peux pas me connecter avec, le site ne reconnait pas le mot de passe.
Comment faire svp car c'est vraiment embêtant la pour le coup, je ne peux pas passer outre cette sécurité :-/.
je vous transmet mon register.php et mon login.php.

Merci d'avance de votre aide^^
Cordialement
Vazer7070

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<?php
if (empty($_SESSION['id']))
{
	$error['username'] = FALSE;
	$error['password'] = FALSE;
	$error['email'] = FALSE;
	$error['captcha'] = FALSE;
	$error['rule'] = FALSE;
	$error['quest'] = FALSE;
	$error['repon'] = FALSE;
	$error['pseudo'] = FALSE;
 
	if(isset($_POST['send']) && secu($_POST['send']) == 'send')
	{
		$username = secu($_POST['username']);
		$password = ($_POST['password']);
		$password_conf = ($_POST['password_conf']);
		$email = secu($_POST['email']);
		$captcha = secu($_POST['captcha']);
		$question = secu($_POST['quest']);
		$reponse = secu($_POST['repon']);
		$pseudo = secu($_POST['pseudo']);
		$hash = password_hash($password,PASSWORD_BCRYPT) ;
 
		$register['username'] = FALSE;
		$register['password'] = FALSE;
		$register['email'] = FALSE;
		$register['captcha'] = FALSE;
		$register['rule'] = FALSE;
		$register['quest'] = FALSE;
		$register['repon'] = FALSE;
		$register['pseudo'] = FALSE;
 
		if(!empty($_POST['quest']) && strlen($_POST['quest']) > 6)
		{	$register['quest'] = TRUE;}
		else
		{	$error['quest'] = TRUE;
			$errQuest = "<span class=\"red\">Vous devez entrée une question de plus de 6 caractère.</span>\n";
		}
 
		if(!empty($_POST['repon']) && strlen($_POST['repon']) > 3)
		{	$register['repon'] = TRUE;}
		else
		{	$error['repon'] = TRUE;
			$errRepon = "<span class=\"red\">Vous devez entrée une question de plus de 3 caractère.</span>\n";
		}
 
		if(!empty($_POST['pseudo']) && strlen($_POST['pseudo']) > 3)
		{	if(how_db2('accounts', 'pseudo', $username) == 0)
			{	$register['pseudo'] = TRUE;
			}
			else
			{	$error['pseudo'] = TRUE;
				$errPseudo = "<span class=\"red\">Le pseudo est déjà utiliser</span>\n";
			}
		}
		else
		{	$error['pseudo'] = TRUE;
			$errPseudo = "<span class=\"red\">Aucun pseudo n'est indiquer</span>\n";
		}
 
		if(isset($_POST['username']) && secu($_POST['username']) != '')
		{
			if(how_db2('accounts', 'username', $username) == 0)
			{
				$register['username'] = TRUE;
			}
			else
			{
				$error['username'] = TRUE;
				$errUser = "<span class=\"red\">Le Nom de compte est déjà utiliser</span>\n";
			}
		}
		else
		{
			$error['username'] = TRUE;
			$errUser = "<span class=\"red\">Aucun Nom de compte n'est indiquer</span>\n";
		}
 
		if(isset($_POST['password']) && secu($_POST['password']) != '' && isset($_POST['password_conf']) && secu($_POST['password_conf']) != '')
		{
			if($password == $password_conf)
			{
				$register['password'] = TRUE;
			}
			else
			{
				$error['password'] = TRUE;
				$errPass = "<span class=\"red\">Les Mots de passes ne sont pas identiques</span>\n";
			}
		}
		else
		{
			$error['password'] = TRUE;
			$errPass = "<span class=\"red\">Aucun Mots de passes ne sont indiquer</span>\n";
		}
 
		if(isset($_POST['email']) && secu($_POST['email']) != '')
		{
			if(preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email))
			{
				$register['email'] = TRUE;
			}
			else
			{
				$error['email'] = TRUE;
				$errMail = "<span class=\"red\">L'Adresses E-Mail n'est pas valide</span>\n";
			}
		}
		else
		{
			$error['email'] = TRUE;
			$errMail = "<span class=\"red\">Aucune Adresses E-Mail n'est indiquer</span>\n";
		}
 
		if(isset($_POST['captcha']) && secu($_POST['captcha']) != '')
		{
			if(strtoupper($captcha) == $_SESSION['captcha'])
			{
				$register['captcha'] = TRUE;
			}
			else
			{
				$error['captcha'] = TRUE;
				$errCode = "<span class=\"red\">Le Code de sécurité n'est pas valide</span>\n";
			}
		}
		else
		{
			$error['captcha'] = TRUE;
			$errCode = "<span class=\"red\">Aucun Code de sécurité n'est indiquer</span>\n";
		}
 
		if(isset($_POST['rule']))
		{
			$register['rule'] = TRUE;
		}
		else
		{
			$error['rule'] = TRUE;
			$errRule = "<span class=\"red\">Les Conditions Générales d'Utilisation doivent être lu et compris</span><br /><br />\n";
 
		}
 
		if($register['username'] && $register['password'] && $register['email'] && $register['captcha'] && $register['quest'] && $register['repon'] && $register['pseudo'])
		{
			$sql = "INSERT INTO `accounts` (account, pass, email, question, reponse, pseudo) VALUES ('".$username."','".($hash)."','".$email."', '".$question."', '".$reponse."', '".$pseudo."')";
			$sql = $db2->prepare($sql);
			$sql->execute();
			$sql = "SELECT * FROM `accounts` WHERE account = '".$username."'";
			$sql = $db2->prepare($sql);
			$sql->execute();
			$data = $sql->fetch(PDO::FETCH_ASSOC);
			$_SESSION['id'] = $data['guid'];
?>
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
$error = FALSE;
 
if(empty($_SESSION['id']))
{
   if(isset($_POST['send']) && secu($_POST['send']) == '')
   {
	  if(isset($_POST['account']) && secu($_POST['account']) != '' && isset($_POST['pass']) && secu($_POST['pass']) != '')
	  {
		 $login = secu($_POST['account']);
		 $pass = (secu($_POST['pass']));
		 $hash = password_hash($pass,PASSWORD_BCRYPT) ;
		 if(how_db2('accounts','account',$login) == 1)
		 {
			$sql = "SELECT * FROM `accounts` WHERE `account`='".$login."'";
			$sql = $db2->prepare($sql);
			$sql->execute();
			$data = $sql->fetch(PDO::FETCH_ASSOC);
			$db_pass = $hash;
			if($pass == $db_pass)
			{
			   $_SESSION['id'] = $data['guid'];
			   if(secu($_POST['page']) && secu($_POST['page']) != 'login')
			   {	
				 echo '<meta http-equiv="refresh" content="0; url=index.php?page='.secu($_POST['page']).'">';
			   }
			   else
			   {	
				 echo '<meta http-equiv="refresh" content="0; url=index.php?page=home">';
			   }
			}
			else
			{	
			   $error = TRUE;
			   $msgError = 'Nom de compte ou mot de passe invalide !';
			}
		 }
		 elseif(how_db2('accounts','account',$login) > 1)
		 {	
			$error = TRUE;
			$msgError = 'Plusieurs comptes ont le même nom de compte !';
		 }
		 else
		 {	
			$error = TRUE;
			$msgError = 'Nom de compte ou mot de passe invalide !';
		 }
	  }
	  else
	  {
		 $error = TRUE;
		 $msgError = 'Veuillez remplir tous les champs !';
	  }
   }