Question du test Cybersec pour les techs : renforcez vos bases

Comment se prémunir des injections SQL en PHP ?

Facile

Identifier quel morceau de code présente une faille d'injection SQL :

Code A :

<?php
$pdo = new PDO('mysql:host=localhost;dbname=ma_base', 'utilisateur', 'mot_de_passe');

$id = $_GET['id'];

$sql = "SELECT * FROM utilisateurs WHERE id = " . $id;
$result = $pdo->query($sql);
?>

Code B :

<?php
$pdo = new PDO('mysql:host=localhost;dbname=ma_base', 'utilisateur', 'mot_de_passe');

$id = $_GET['id'];

$sql = "SELECT * FROM utilisateurs WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
?>
Auteur: Lucas JAHIERStatut : PubliéeQuestion passée 11 fois
Modifier
2
Évaluations de la communauté
developer avatar
Dragon parfait
08/11/2024
Moi je trouve ça bien qu'on ait une question PDO. Peut-être qu'on peut en ajouter d'autres similaires avec d'autres langages