molily: PDO Prepared Statements nutzen

Beitrag lesen

Hallo,

Oder fange ich SQL-Injections in PHP nicht sicher ab, wenn ich den variablen Input kontextgerecht behandele?

Sagen wir einmal so: Es ist *möglich*, dass dein händisches Erzeugen von SQL-Queries mit variablem Input genauso sicher ist.

Das Problem ist vielmehr: Du musst den Input händisch escapen. Dabei werden erfahrungsgemäß Fehler auftreten. Dabei wirst du Angriffsvektoren übersehen. Am sichersten ist daher der Code, den du gar nicht erst schreibst. Am sichersten ist der Code, der SQL-Queries konzeptionell unmöglich macht. Der das Erzeugen von SQL wegabstrahiert. Der das Escaping in einem zentralen, gesonderten Modul erledigt, das Open Source ist, unabhängig geprüft, performant implementiert. Das ist, mit Verlaub, nicht dein und nicht mein Code. Das ist eher Code in PDO und ferner objektrelationale Mappern.

Grüße
Mathias