imagine que ta requete soitc'est pourquoi je ne comprends pas comment on pourrait inserer des données malveillantes puisque ce n'est pas pour inserer mais juste recuperer et afficher
Code : Tout sélectionner
SELECT * FROM table WHERE id='"$_GET["id"]."'";Code : Tout sélectionner
15;DELETE * FROM table;Code : Tout sélectionner
SELECT * FROM table WHERE id=15;DELETE * FROM table;Faut pas non plus devenir parano, mais il est important de le savoir. Une programmation propre et une discipline de codage sont les prmières règles à observer. Ensuite, la règle d'Or que j'ai cité plus tôt : ne jamais faire confiance aux données de l'utilisateur. Enfin, faire en sorte que des données qui interviennent d'une manière ou d'une autre vers une base de données soient traitées correctement justemet pour éviter que des petits malins ne fassent les caves. Il y a sur PHPFrance un excellent tuto sur la manière de traiter des données avant envoi vers une base de données : les magic_quotes à lire attentivement et à prendre au sérieux.Eeeuh il commence sérieusement à m'inquiéter ce sujet
SELECT * FROM table WHERE id='$_GET[id]'"
Dans un cas comme celui-ci, tu te sers d'un numérique comme point de repère : La première chose à faire est de ne pas utiliser $_GET['id'] dans la requête elle-même. Tu feras donc la chose suivante:
$id = isset($_GET['id']) ? $_GET['id'] ? "";
if(is_numeric($id))
{
$sql = "SELECT * FROM table WHERE id='". $id ."'";
}
else
{
echo("<p>L'identifiant est inccorect, veuillez sélectionner à nouveau votre article</p>\n"); // par exemple...
}
Là, tu court-circuite toute tentative d'ajout parce que si l'identifiant n'est pas un numérique, il n'y aura pas de requête du tout, donc si un petit futé ajoute quoique ce soit, c'est loupé d'avance.