Überprüfen der Benutzereingabe
Wenn Sie eine Anwendung erstellen, die auf Daten zugreift, sollten Sie davon ausgehen, dass alle Benutzereingaben böswillig sind, solange nicht das Gegenteil bewiesen ist. Andernfalls gefährden Sie Ihre Anwendung. Eine Art von Angriff, die auftreten kann, wird als „Einschleusung von SQL-Befehlen“ bezeichnet. Bei diesem Angriff wird bösartiger Code Zeichenfolgen hinzugefügt, die an eine Instanz von SQL Server übermittelt werden, damit sie analysiert und ausgeführt werden. Zum Verhindern solcher Angriffe sollten Sie, wenn möglich, gespeicherte Prozeduren mit Parametern verwenden und Benutzereingaben immer überprüfen.
Das Überprüfen von Benutzereingaben im Clientcode ist wichtig, damit Sie keine unnötigen Roundtrips zum Server durchführen. Genauso wichtig ist es, Parameter für gespeicherte Prozeduren auf dem Server zu überprüfen. Auf diese Weise wird eine Eingabe abgefangen, die die clientseitige Prüfung umgeht.
Weitere Informationen zur Einschleusung von SQL-Befehlen und wie dies verhindert werden kann, finden Sie unter Einschleusung von SQL-Befehlen. Weitere Informationen zum Überprüfen von Parametern für gespeicherte Prozeduren finden Sie unter Gespeicherte Prozeduren und den zugehörigen Artikeln.