Datenbank-Sicherheit
Inhaltsverzeichnis
   
    Heutzutage sind Datenbanken die Hauptkomponenten jeder webbasierten
    Anwendung, aufgrund welcher Websites verschiedene dynamische Inhalte
    anbieten können. Nachdem sensible oder geheime Informationen in solch
    einer Datenbank gespeichert werden können, sollten Sie deren Schutz
    ernsthaft bedenken.
   
   
    Um Informationen zu bekommen oder zu speichern, müssen Sie eine Verbindung
    zur Datenbank herstellen, eine legitime Abfrage senden, das Ergebnis
    holen, und die Verbindung schließen. Heutzutage ist die allgemein
    verwendete Abfragesprache für solche Interaktionen die Structured Query
    Language (SQL). Sehen Sie, wie sich ein Angreifer
    an einer SQL-Abfrage zu schaffen machen
    kann.
   
   
    Sie werden merken, dass PHP Ihre Datenbank nicht selbst
    schützen kann. Die folgenden Abschnitte sind eine Einführung in die
    Grundlagen, wie man innerhalb von PHP-Skripten auf
    Datenbanken zugreift und diese manipuliert.
   
   
    Behalten Sie diese einfache Regel im Hinterkopf: tief gestaffelte
    Verteidigung. Je mehr Platz Sie den Maßnahmen zum Schutz Ihrer Datenbank
    geben, desto geringer ist die Wahrscheinlichkeit, dass ein Angreifer
    Erfolg hat und gespeicherte Geheiminformationen aufdeckt oder missbraucht.
    Ein gutes Design des Datenbankschemas und die Anwendung wird mit Ihren
    größten Befürchtungen fertig.
   
   
   
   
   
   
    
 
    
  
  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.