par
AB » 02 sept. 2008, 15:43
D'ailleurs en cliquant sur la fonction mysql_real_escape_string() tu verras dans les exemples, un exemple d'attaque par injection SQL.
Donc
1/Vérifier si possible que la variable dans l'url correspond à une valeur attendue. Au minimum on peut souvent tester le type et/ou caster les valeurs numériques. Exemple
<php?
$contenu = isset($_GET['contenu'])? intval($_GET['contenu']) : 0;
?>
ainsi dans l'exemple ci-dessus $contenu sera obligatoirement une valeur numérique entière.
2/Dans tous les cas (ou presque) utiliser la fonction mysql_real_escape_string() pour protéger la requête.
D'ailleurs en cliquant sur la fonction mysql_real_escape_string() tu verras dans les exemples, un exemple d'attaque par injection SQL.
Donc
1/Vérifier si possible que la variable dans l'url correspond à une valeur attendue. Au minimum on peut souvent tester le type et/ou caster les valeurs numériques. Exemple
[php]<php?
$contenu = isset($_GET['contenu'])? intval($_GET['contenu']) : 0;
?>[/php]
ainsi dans l'exemple ci-dessus $contenu sera obligatoirement une valeur numérique entière.
2/Dans tous les cas (ou presque) utiliser la fonction mysql_real_escape_string() pour protéger la requête.