Failles sql lié au paramètre de l'url
cocodu67...
Messages postés
3178
Date d'inscription
Statut
Membre
Dernière intervention
-
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
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 :
Ensuite dans la requête je fais .... WHERE id = :ID;
Et j'ajoute un paramètre
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
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 :
<?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
$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
A voir également:
- Failles sql lié au paramètre de l'url
- Url - Guide
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Netflix paramètre compte - Guide
- Les regexp :
Comment créer facilement une expression comme ça ? Par exemple je veux que mon expression ne contient qu'un point et un tiret et des chiffres et lettres, comment "construire" l'expression sans risque de me tromper ? Ou alors si je veux qu'une expression contient par exemple blabla mais pas bloblo donc dfsblablafff ça passe, blablaooobloblo ça ça passe pas dsfghfgdsdfgd ça passe pas.
- Les fonctions de contrôle
Devrais-je utiliser systématiquement mysqli_real_escape_string pour toutes les variables utilisées dans une requête sql ? Si la réponse est non, vaudrait-il mieux utiliser autre chose en plus du regexp ?