De nos jours, les bases de données sont des composants incontournables des serveurs web et des applications en ligne, qui fournissent du contenu dynamique. Des données secrètes ou critiques peuvent être stockées dans les bases de données : il est donc important de les protéger efficacement.
Pour lire ou stocker des informations, il faut se connecter au serveur
de bases de données, envoyer une requête valide, lire le résultat et
refermer la connexion. De nos jours, le langage le plus courant pour ce
type de communication est le langage SQL
(Structured Query Language). Voir
comment un pirate peut
s'introduire dans une
requête SQL.
Comme on peut s'en douter, PHP ne peut pas protéger les bases de données par lui-même. La section suivante présente les notions de base pour protéger les bases de données, lors de la programmation de scripts PHP.
Gardez bien cette règle simple en tête : la défense se fait par couches. Plus il y a de tests pour protéger la base, plus faible sera la probabilité de réussite d'un pirate. En ajoutant à cela un bon schéma de base de données, on obtient une application réussie.