SQL Injection
PHP 🟢 JuniorDefinition
Vulnerabilite ou un attaquant injecte du code SQL malveillant via des entrees utilisateur non assainies. L'une des failles les plus critiques et frequentes.
Analogie
Comme un intrus qui ajoute des instructions sur un bon de commande pour se faire livrer gratuitement.
Exemple de code
// DANGEREUX
$sql = "SELECT * FROM users WHERE id = $id";
// SECURISE
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => $id]);
Cas d'usage
Prevention obligatoire sur TOUTE requete SQL utilisant des donnees externes.
Anti-pattern
Concatener des variables directement dans les requetes SQL, meme 'juste pour un admin'.