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.