connexion automatique

ViPHP
xTG
ViPHP | 7331 Messages

04 nov. 2011, 20:08

Cela ne change strictement rien au précédent code, et c'est toujours soumis aux règles de l'injection SQL. ^^

Eléphant du PHP | 58 Messages

04 nov. 2011, 21:03

grrrr grrr :( je sais plus quoi faire .... dur dur d’être débutant

ViPHP
xTG
ViPHP | 7331 Messages

04 nov. 2011, 22:02

mysql_real_escape_string() est à utiliser sur la variable à injecter dans la requête.
L'utiliser lors de la création du cookie est inutile, puisque le risque c'est justement que quelqu'un falsifie la valeur du cookie après que ce dernier ai été créé...

Eléphant du PHP | 58 Messages

04 nov. 2011, 23:11

je crois j'ai compris :wink:

donc sur ma page index je fais comme ça:

<?php if(!empty($_COOKIE['connexion_automatique']) && empty($_SESSION['id_nom']))
{ 
                                // Sélection de l'utilisateur concerné						
   $result = mysql_query("
                    SELECT id, Nom_Utilisateur, Mot_de_Passe, hash_cookie
                    FROM Comptes_Utilisateurs
                    WHERE hash_cookie = '" .mysql_real_escape_string($_COOKIE['connexion_automatique']). "'					
                      ");
					  
					           // Récupération des données hash cookie,id, nom utilisateur 
					           $row = mysql_fetch_array($result);

                                                      //protection des injection SQL
					           $donnee = array_map ('mysql_real_escape_string',($row));
					
                                                      // reforme le hash et le compare avec hash de la base de donée
					$test=sha1('aaa'.$donnee["Nom_Utilisateur"].'bbb'.$donnee["Mot_de_Passe"].'ccc') === $donnee["hash_cookie"];
}
						
				if(!empty($test) && !empty($_COOKIE['connexion_automatique']))
                                {
							   // si c'est ok je reforme les deux sessions            		   
                                       $_SESSION['id']=$donnee["id"];
                                       $_SESSION['id_nom']=$donnee["Nom_Utilisateur"];
				}		      
				 


C'est mieux?

ViPHP
xTG
ViPHP | 7331 Messages

05 nov. 2011, 09:36

C'est cela.
Par contre cette ligne :
//protection des injection SQL
$donnee = array_map ('mysql_real_escape_string',($row));
est totalement inutile.

Eléphant du PHP | 58 Messages

05 nov. 2011, 10:18

C'est bon j'ai supprimé cette ligne

$donnee = array_map ('mysql_real_escape_string',($row));

vu que tu m'a dis qu'elle est inutile, :wink: je me suis dis "ça va faire une sécurité en + :D "

Sinon je viens de tester ma connexion auto ça fonctionne parfaitement, j'ai même simulé des erreurs, j'ai volontairement changé des donnée différente dans le champs le "hask cookie" dans ma base de donné , je relance ma page en connexion auto et là magique je suis déconnecté conclusion

OUfff après 4 jours de réflexion et d'aide tout fonctionne c'est résolu :o je te remercie vraiment pour ton efficacité !!!!!