Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

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.

so gehts…

Nehmen wir an, wir haben folgende Beispielhafte SQL-Query:

CODE:
$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:

CODE:
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:

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

 

Anzeige


Ähnliche Beiträge



Keine Kommentare vorhanden


Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *