Zurück zu den Datenbanken-FAQs
HILFECENTER · FAQDatenbanken1 Min. Lesezeit

Warum sollte ich SQL-Werte binden statt Zeichenketten zusammenzufügen?

Übergeben Sie Benutzer- oder Workflowwerte als Parameter, statt sie in SQL-Text einzufügen. Parameter trennen Daten von SQL-Syntax, senken das Injection-Risiko und behandeln Anführungszeichen zuverlässiger; Tabellen- und Spaltennamen müssen weiterhin kontrolliert validiert werden.

Datenbanken

Daten von der Abfragestruktur trennen

Werden Werte direkt in SQL-Zeichenketten eingesetzt, können Anführungszeichen und Sonderzeichen die Interpretation verändern. Ein unerwarteter oder bösartiger Wert kann Bedingungen ändern oder unbeabsichtigtes SQL ergänzen.

Eine parametrisierte Anweisung hält die Struktur fest und übermittelt Werte separat. Verwenden Sie die dokumentierte Platzhaltersyntax des Datenbankwerkzeugs und übergeben Sie Werte in den vorgesehenen Parameterfeldern.

Bezeichner und Fachregeln ebenfalls validieren

Parameter stehen normalerweise für Werte, nicht für Tabellen-, Spaltennamen oder Sortierrichtungen. Muss die Abfrage einen Bezeichner auswählen, ordnen Sie Eingaben einer festen Zulassungsliste zu.

Parameterbindung ersetzt keine Validierung: Prüfen Sie Formate, Bereiche und Berechtigungen vor einem Schreibvorgang. Testen Sie die Abfrageform und Grenzwerte, damit nur vorgesehene Datensätze geändert werden.

Zurück zu den Datenbanken-FAQs