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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
$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