Prepared Statement: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
(kein Unterschied)
|
Version vom 25. Juni 2007, 16:57 Uhr
Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.
Definition
Prepared statements sind, wie der Name schon sagt, vorbereitete Statements für ein Datenbank-
System und enthalten noch keine Parameterwerte.
Statt der Parameter werden Platzhalter an das Datenbanksystem übergeben, d.h. die SQL-Befehle und die tatsächlichen
Parameterwerte (die dann statt den Platzhaltern eingetragen werden), werden vom Skript getrennt an das API
übertragen und somit ist die für die SQL Injection nötige Durchmischung nicht mehr ohne weiteres
zu erreichen.
Darüber hinaus werden die Parameter beim Eintragen zunächst vom DB-System
auf Gültigkeit geprüft bevor sie verarbeitet werden.
Als angenehmen Nebeneffekt bringen
die Prepared statements den Vorteil mit sich, dass durch die Vorverarbeitung der Abfragen eine
schnellere Verarbeitungszeit der Abfragen möglich ist.
Quellen
[1] Paul Sebastian Ziegler: XSS – Cross-Site Scripting. hakin9 - Hard Core IT Security Magazin
2007, Heft 1, S. 20ff
[2] Christiane Rütten, Tobias Glemser: Gesundes Misstrauen – Sicherheit von Webanwendungen.
C’t 2006, Heft 26, S. 234ff