sécuriser requete PDO
Posté : 03 mai 2019, 18:49
Bonjour,
j'ai lu des articles sur le fait qu'il fallait sécuriser ses requetes, et que PDO avec prepare() permettait de renforcer la sécurité.
J'ai un petit bout de code pour exemple :
Ma question :
si j'ai fait :
est ce que c'est juste ?
Et si oui, quand je teste par exemple id=toto, je n'ai pas de message d'erreur... est ce normal ?
Est ce qu'il serait préférable d'ajouter quand même dès le départ quelque chose comme :
voire
ou tout ceci fait doublon ?
merci de votre aide
j'ai lu des articles sur le fait qu'il fallait sécuriser ses requetes, et que PDO avec prepare() permettait de renforcer la sécurité.
J'ai un petit bout de code pour exemple :
Code : Tout sélectionner
// je récupère mon id passé dans la page par : http://www.monsite.fr/projet-details.php?id=12
$id = $_GET['id'];
$sql_produits = "SELECT * FROM produits WHERE id=:id";
$req_produits = $pdo->prepare($sql_produits);
$req_produits->bindParam(':id', $id, PDO::PARAM_INT);
$req_produits->execute();
$enr_produits = $req_produits->fetch();
si j'ai fait :
Code : Tout sélectionner
// en passant ce paramêtre je pense que j'ai protégé le fait qu'un petit malin passe autre chose qu'un entier dans la var $id
$req_produits->bindParam(':id', $id, PDO::PARAM_INT);
Et si oui, quand je teste par exemple id=toto, je n'ai pas de message d'erreur... est ce normal ?
Est ce qu'il serait préférable d'ajouter quand même dès le départ quelque chose comme :
Code : Tout sélectionner
$id = htmlspecialchars($id);
Code : Tout sélectionner
if (!is_int ($id)) echo 'Erreur';
merci de votre aide