Impressum    .    Kontakt    .    Links            srware.net auf Deutsch    srware.net on english 
minibalken
logo
minibalken
weis
news

Startseite



Allgemeines
Voraussetzungen


PHP
Variablen
Textausgabe/echo

Mathemathische Funktionen
if/else-Anweisung
for-Schleife

while-Schleife
Arrays und foreach
Dateien (Lesen/Schreiben)
Datum und Zeit in PHP
E-Mails
Cookies
Runden

MySQL
Verbindung

Daten auslesen (SELECT)
Daten hinzufügen (INSERT)
Daten löschen (DELETE)
Daten ändern (UPDATE)

Sicherheit
Eingaben maskieren

SQL Injektionen verhindern

Smarty Template-Engine
Was ist Smarty?

Installation und Einbindung
Templates anzeigen
Variablen übergeben
Code ignorieren
Schleifen mit Smarty







weis
weis
home_überschrift

SQL-Injections mit mysql_real_escape_string verhindern


Als SQL-Injections bezeichnet man Angriffe auf eine SQL-Query bei der Werte eingeschleusst werden, die vom Webseitenbetreiber eigentlich so nicht vorgesehen waren.

Nehmen wir an, wir haben folgende Beispielhafte SQL-Query:
$query = "SELECT * FROM users WHERE user='$user' AND password='$password'";

Nun könnte ein Angreifer ins Formularfeld Password den String ' OR 1=1' eingeben, um sich als admin einzuloggen. Was würde aus der Query dann werden? Sie lautete:
SELECT * FROM users WHERE user='admin' AND password='' OR 1=1'





Weil 1=1 immer wahr ist würde SQL die Bedingung also als erfüllt ansehen und dem Nutzer das einloggen erlauben. Hier kommt mysql_real_escape_string ins Spiel.

Eine Query, deren Eingaben mit mysql_real_escape_string maskiert worden sind, bietet diese Angriffsgefahr nicht!  So zum Beispiel:

$query = "SELECT * FROM users WHERE user='".mysql_real_escape_string($user)."' AND password='".mysql_real_escape_string($password)."'";
 
     
 
weis


Der Browser der Zukunft,
jetzt für Android: