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 :
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
$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
Partager