Der SQL-Server Sp_executesql gespeicherte Prozedur ausführt dynamische SQL- Anweisungen, die Sie erstellen in einer Anwendung. SQL-Injection ist ein Hack , die Benutzern den Zugriff auf SQL-Datenbank gewinnen können. Verwenden Sie die Sp_executesql gespeicherten Prozeduren zusammen mit der Funktion "Ersetzen" , um die einzelnen Anführungszeichen , die verwendet werden, um schädlichen Code auf dem Server ausführen zu ersetzen. Anleitung
1
Klicken Sie in Windows auf "Start" und wählen Sie " Alle Programme". Klicken Sie auf " SQL Server " und anschließend auf " SQL Server Management Studio ", um die Software zu öffnen.
2
Geben Sie Ihren Benutzernamen und Ihr Passwort in die SQL Server-Log - in -Bildschirm , um die Server-Datenbanken zugreifen . Klicken Sie auf eine Datenbank , die abgefragt werden , und wählen Sie " New Query" , um den Editor zu öffnen.
3
Erstellen eines dynamischen SQL-Abfrage wollen . Der folgende Code erstellt eine dynamische Abfrage , die Anführungszeichen in der Anweisung enthält :
declare @ Abfrage als nvarchar ( 500) set @ query = " select name von Kunden, wo signupdate ='' 1/1/2011 '' '
in diesem Beispiel könnte ein Hacker Anführungszeichen in der "where" -Klausel, die Fehler in der SQL- Abfrage bewirkt einzufügen.
4
Verwenden Sie die gespeicherte Prozedur sp_executesql mit der Replace-Funktion SQL-Injection zu vermeiden. Geben Sie den folgenden Code in den Bearbeiter:
Sp_executesql Replace ( @ query '\\ '', '''')
Der Code ersetzt jedes einzelne Zitat mit einem doppelten Anführungszeichen , die das beseitigt Möglichkeit für SQL-Injection .
5
Drücken Sie die F5 -Taste, um die Anweisung auszuführen. Die SQL ausführt und die Ergebnisse der Abfrage Anzeige in der Ergebnisliste angezeigt.