par
Victor BRITO » 22 mars 2008, 00:11
Un conseil : pour te prémunir d'une injection SQL, il faut échapper la variable utilisée dans ta requête, comme suit :
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo);
Ensuite, pour vérifier le login et le mot de passe en même temps, il faut exécuter une requête de ce genre :
$pass = $_POST['pass'];
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo)." AND pass=".mysql_real_escape_string ($pass);
Un autre conseil, lié aussi à la sécurité : il faut, si ce n'est déjà fait, hacher les mots de passe, de façon à ce qu'ils ne soient pas récupérables, grâce, notamment, à la fonction md5(). Dans ce cas, la requête ressemblera à ça :
$pass = $_POST['pass'];
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo)." AND pass=MD5(".mysql_real_escape_string ($pass).")";
ou bien à ça
$pass = $_POST['pass'];
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo)." AND pass=".md5 (mysql_real_escape_string ($pass));
Un conseil : pour te prémunir d'une injection SQL, il faut échapper la variable utilisée dans ta requête, comme suit :
[php]$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo);[/php]
Ensuite, pour vérifier le login et le mot de passe en même temps, il faut exécuter une requête de ce genre :
[php]$pass = $_POST['pass'];
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo)." AND pass=".mysql_real_escape_string ($pass);[/php]
Un autre conseil, lié aussi à la sécurité : il faut, si ce n'est déjà fait, hacher les mots de passe, de façon à ce qu'ils ne soient pas récupérables, grâce, notamment, à la fonction md5(). Dans ce cas, la requête ressemblera à ça :
[php]$pass = $_POST['pass'];
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo)." AND pass=MD5(".mysql_real_escape_string ($pass).")";[/php]
ou bien à ça
[php]$pass = $_POST['pass'];
$login = " SELECT pseudo FROM T_IDENTIFICATION WHERE pseudo=".mysql_real_escape_string ($pseudo)." AND pass=".md5 (mysql_real_escape_string ($pass));[/php]