Prepared Statement: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge)
Kowa (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{In Bearbeitung}}
{{Qualität
|correctness        = 2
|extent              = 2
|numberOfReferences  = 3
|qualityOfReferences = 5
|conformance        = 5
}}


=Definition=
=Definition=


Prepared statements sind, wie der Name schon sagt, vorbereitete Statements für ein Datenbank-
[[Prepared Statement]]s sind parametrisierte, vorübersetzte ([[SQL]]-)Anweisungen für ein [[Datenbanksystem]] (DBS).
System und enthalten noch keine Parameterwerte.<br>


Statt der Parameter werden Platzhalter an das Datenbanksystem übergeben, d.h. die SQL-Befehle und die tatsächlichen
=Bemerkungen=
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.<br>


Darüber hinaus werden die Parameter beim Eintragen zunächst vom DB-System
Bei der Erzeugung eines [[Prepared Statement]]s werden an Stelle von Parameterwerten Platzhalter für die Parameter an das DBS übergeben.
auf Gültigkeit geprüft bevor sie verarbeitet werden.<br>
Erst beim Aufruf eines [[Prepared Statement]]s werden Parameterwerte übergeben.


Als angenehmen Nebeneffekt bringen
Auf diese Weise können insbesondere [[SQL Injection|SQL-Injection-Attacken]] vermieden werden,
die Prepared statements den Vorteil mit sich, dass durch die Vorverarbeitung der Abfragen eine
da die dafür nötige Vermischung von [[SQL]]- und Hostsprache-Code nicht mehr ohne Weiteres
schnellere Verarbeitungszeit der Abfragen möglich ist.<br>
möglich ist.
 
Darüber hinaus werden die Parameter beim Eintragen zunächst vom DBS
auf Gültigkeit geprüft bevor sie verarbeitet werden.
 
Als angenehmen Nebeneffekt bringen Prepared Statements den Vorteil mit sich, dass durch die Vorverarbeitung der Abfragen eine
schnellere Verarbeitung der Abfragen möglich ist.


=Quellen=
=Quellen=


[1] Paul Sebastian Ziegler: XSS – Cross-Site Scripting. hakin9 - Hard Core IT Security Magazin
*{{Quelle|Ziegler (2007)}}
2007, Heft 1, S. 20ff <br>
*{{Quelle|Rütten, Glemser (2006)}}
[2] Christiane Rütten, Tobias Glemser: Gesundes Misstrauen – Sicherheit von Webanwendungen.
C’t 2006, Heft 26, S. 234ff <br>


=Siehe auch=
=Siehe auch=


*[[SQL Injection]]<br>
*[[SQL Injection]]
*[[Stored procedures]]
*[[Stored Procedure]]


[[Kategorie:Datenmanagement]]
[[Kategorie:Sicherheit]]
[[Kategorie:Sicherheit]]
[[Kategorie:Glossar]]

Aktuelle Version vom 22. Juni 2013, 10:28 Uhr

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 2
(teilweise überprüft)
Umfang: 2
(wichtige Fakten fehlen)
Quellenangaben: 3
(wichtige Quellen vorhanden)
Quellenarten: 5
(ausgezeichnet)
Konformität: 5
(ausgezeichnet)

Definition

Prepared Statements sind parametrisierte, vorübersetzte (SQL-)Anweisungen für ein Datenbanksystem (DBS).

Bemerkungen

Bei der Erzeugung eines Prepared Statements werden an Stelle von Parameterwerten Platzhalter für die Parameter an das DBS übergeben. Erst beim Aufruf eines Prepared Statements werden Parameterwerte übergeben.

Auf diese Weise können insbesondere SQL-Injection-Attacken vermieden werden, da die dafür nötige Vermischung von SQL- und Hostsprache-Code nicht mehr ohne Weiteres möglich ist.

Darüber hinaus werden die Parameter beim Eintragen zunächst vom DBS auf Gültigkeit geprüft bevor sie verarbeitet werden.

Als angenehmen Nebeneffekt bringen Prepared Statements den Vorteil mit sich, dass durch die Vorverarbeitung der Abfragen eine schnellere Verarbeitung der Abfragen möglich ist.

Quellen

Siehe auch