Prepared Statement: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) K hat Prepared statements nach Prepared Statement verschoben |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
Prepared statements sind, wie der Name schon sagt, vorbereitete Statements für ein Datenbank- | Prepared statements sind, wie der Name schon sagt, vorbereitete Statements für ein Datenbank- | ||
System und enthalten noch keine Parameterwerte. | System und enthalten noch keine Parameterwerte. | ||
Statt der Parameter werden Platzhalter an das Datenbanksystem übergeben, d.h. die SQL-Befehle und die tatsächlichen | 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]] | 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 | übertragen und somit ist die für die SQL Injection nötige Durchmischung nicht mehr ohne weiteres | ||
zu erreichen. | zu erreichen. | ||
Darüber hinaus werden die Parameter beim Eintragen zunächst vom DB-System | Darüber hinaus werden die Parameter beim Eintragen zunächst vom DB-System | ||
auf Gültigkeit geprüft bevor sie verarbeitet werden. | auf Gültigkeit geprüft bevor sie verarbeitet werden. | ||
Als angenehmen Nebeneffekt bringen | Als angenehmen Nebeneffekt bringen | ||
die Prepared statements den Vorteil mit sich, dass durch die Vorverarbeitung der Abfragen eine | die Prepared statements den Vorteil mit sich, dass durch die Vorverarbeitung der Abfragen eine | ||
schnellere Verarbeitungszeit der Abfragen möglich ist. | schnellere Verarbeitungszeit der Abfragen möglich ist. | ||
=Quellen= | =Quellen= | ||
[1] Paul Sebastian Ziegler: XSS – Cross-Site Scripting. hakin9 - Hard Core IT Security Magazin | *[1] Paul Sebastian Ziegler: XSS – Cross-Site Scripting. hakin9 - Hard Core IT Security Magazin | ||
2007, Heft 1, S. 20ff | 2007, Heft 1, S. 20ff | ||
[2] Christiane Rütten, Tobias Glemser: Gesundes Misstrauen – Sicherheit von Webanwendungen. | *[2] Christiane Rütten, Tobias Glemser: Gesundes Misstrauen – Sicherheit von Webanwendungen. | ||
C’t 2006, Heft 26, S. 234ff | C’t 2006, Heft 26, S. 234ff | ||
=Siehe auch= | =Siehe auch= | ||
*[[SQL Injection]] | *[[SQL Injection]] | ||
*[[Stored | *[[Stored Procedure]] | ||
[[Kategorie:Sicherheit]] | [[Kategorie:Sicherheit]] | ||
Version vom 26. Juni 2007, 08:55 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
