MySQL: SQL-Injektion verhindern

Ein sicherer Ansatz gegen SQL-Injektion, das unerlaubte Einfügen von SQL-Kommandos über Formularfelder, sind „Prepared Statements“. Die gibt es ab MySQL 4.1. Dabei muss von PHP aus der Zugriff über die neue MySQL-Schnittstelle oder dem PDO-Aufsatz erfolgen. Bei Prepared Statements wird das Absetzen eines SQL-Befehls an den Server in zwei Schritte aufgeteilt. Zuerst erfolgt das Senden des Befehls mit allen variablen Bestandteilen. Dann bindet man die gewünschten PHP-Variablen an die Platzhalter im SQL-Befehl und führt schließlich das Kommando aus:

weiterlesen