Sécurité contre les injections SQL

Sécurité contre les injections SQL - PHP - Programmation

Marsh Posté le 22-11-2008 à 03:44:07    

Bonjour à tous ! :)
 
En fait j'ai une page web dans laquelle je récupère une variable numérique ($_GET['id']).
 
J'ai ensuite mis un code (il fonctionne) mais j'aimerais savoir si il est efficace pour se protéger contre les injections SQL :
 
 
 

Code :
  1. mysql_connect("...", "...", "..." );
  2. mysql_select_db("..." );
  3.     $id = (isset($_GET['id'])) ? abs(intval($_GET['id'])) : 0;
  4.     $req = "SELECT * FROM affilies WHERE id='".$id."';";
  5.     $retour = mysql_query($req) or die ($req.'<br>'.mysql_error());
  6.  
  7.     if (mysql_num_rows($retour) == 1)
  8.          {
  9.   $donnees = mysql_fetch_array($retour);


 
On me dit que je dois utiliser mysql_real_escape_string mais comme ma variable est numérique, je me demande si j'en ai besoin.
 
Pouvez-vous me dire si ce code est bon pour être suffisamment sécurisé ?
 
Merci pour votre aide. :)


Message édité par Generation-Web le 26-11-2008 à 00:04:25

---------------
Site web d'informations sur internet
Reply

Marsh Posté le 22-11-2008 à 03:44:07   

Reply

Marsh Posté le 22-11-2008 à 07:06:26    

mysql_real_escape_string c'est pour les chaînes qui peuvent potentiellement contenir tout et n'importe quoi.
 
Là tu t'assures que tu passes une valeur numérique dans ta requête, donc ça suffit amplement.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 22-11-2008 à 13:25:18    

Reply

Marsh Posté le 22-11-2008 à 16:33:06    

N'utilise que des requêtes préparées.

Reply

Marsh Posté le 26-11-2008 à 00:05:30    

Taz a écrit :

N'utilise que des requêtes préparées.


 
 
C'est nikel !  :)  


---------------
Site web d'informations sur internet
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed