SQL Injection

PHP 🟢 Junior

Definition

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'.
#core#interview#security