Faille SQL paramètres url
Bonjour,
Je suis en train de développer un site web et un ami m'a dit que sur toutes les pages où je passe un paramètre via l'url il a réussit à accéder à la base de données.
Pour le système de news je faisais un truc du genre abcabc.fr?id=6 puis je contrôle si le paramètre après "id" est un nombre, si c'est vrai alors je continu d'exécuter le code.
Voici le code en lui même :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
include ("q4s65v21vfdf6ve89rf85.php");
mysql_query("SET NAMES UTF8");
if (is_numeric($_GET['id'])) // sécurité qui contrôle le paramètre présent dans l'url, si c'est pas un nombre rien ne s'affiche
{
$id = '';
$good = true;
$id = $_GET['id'];
} else {
$good = false;
}
if ($good == true) {
try {
// si $good est à true, l'id est un nombre, donc je continu pour afficher la news |
Ensuite dans la requête je fais .... WHERE id = :ID;
Et j'ajoute un paramètre
Code:
$req->bindParam(':ID', $id, PDO::PARAM_STR, 4);
Je pensais que le fait de contrôle si c'est un nombre me protégera mais visiblement ce n'est pas le cas.
Pouvez vous m'aider ?
Merci d'avance