Sécurité des bases de données
Sommaire
 
  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, vous devez vous 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 vous pouvez le réaliser, PHP ne peut pas protéger
  vos bases de données pour vous. La section suivante vous introduira aux
  notions de base pour protéger vos bases de données, lors de la programmation
  de vos scripts PHP.
 
 
  Gardez bien cette règle simple en tête : la défense se fait par couches.
  Plus vous ajouterez de tests pour protéger votre base, plus faible sera la
  probabilité de réussite d'un pirate. Ajoutez à cela un bon schéma de base
  de données, et vous aurez une application réussie.
 
 
 
 
 
 
 
 
 
 
    
 
    
  
  gabe dot aust at gmail dot com ¶10 months ago
  
The most significant way to protect databases is to simply use authentication! There are production systems online with null and default administrator credentials. See the recent  "The Real World" hack...
Rule 1: Simply use authentication instead of not using it... Obviously do not save the credentials in a public-readable file.
Rule 2: Create a subsidiary account with access only to the live schema being used by your PHP app, i.e. never use the global DBMS admin account as a service login.
Rule 3: Block access at the DBMS end to only allow the web server to access the API. Most access is network based so that will involve filtering by IP.
Rule 4: You can obfuscate a bit more by setting a non-standard port but this may require code changes in the API calls you coded.
The above are some simple steps anyone can perform. More serious securing would likely involve setting up SSL connectivity.