Gibt es ein .NET-Projekt/dll, das das Entweichen benutzerergebener Eingaben in Datenbankabfragen für verschiedene Datenbanksysteme unterstützt?Escaping von SQL-Abfragen - Unterstützung für verschiedene Datenbankplattformen in .Net
Ich möchte, dass unser gesamtes Team standardisiert und ein Modul verwendet, um das Entweichen der vom Benutzer bereitgestellten Eingaben auszuführen, die dann in parametrisierten SQL-Abfragen verwendet werden.
Idealerweise möchte ich das Datenbanksystem (oracle, SqlServer, mySql usw.) in der Konfigurationsdatei angeben und Escape (VariablenName) aufrufen können, und es würde den String-Inhalt auf der Grundlage der aktuellen Datenbankeinstellung entkommen lassen in der Datei web.config.
Wenn nicht, wäre die zweitbeste Lösung ist so etwas wie EscapeForOracle, EscapeForSqlServer usw.
Auf ein Minimum das Projekt Oracle, SQLServer und MySQL-Unterstützung sollte.
Ich frage mich, ob ich dies intern erstellen muss oder ob ein vorhandenes kommerzielles/Open-Source-Produkt existiert, um dies zu tun.
Sie sagen "parametrisierte SQL-Abfragen", und dann erwähnen Sie die Flucht. Nicht sicher, was du damit meinst. Könnten Sie einige konkrete Beispiele dafür geben, was Sie erreichen möchten? Ich könnte Startcode haben, den Sie verwenden könnten, wenn Sie den Weg der Inhouse-Entwicklung gehen wollen. –
Lasse ist richtig - wenn Sie Parameter für alle von Ihnen bereitgestellten Daten verwenden (und nicht dynamische SQL in einem SP konstruieren), müssen Sie nicht entkommen - das ist der springende Punkt. –
Sieht so aus, als hätte ich ein Projekt gefunden, das etwas Ähnliches macht: ESAPI (http://code.google.com/p/owasp-esapi-dotnet/). Leider unterstützt es an dieser Stelle nur Oracle und MySql und nicht SqlServer. Weitere Informationen finden Sie unter: http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_3:_Escaping_all_User_Supplied_Input Aber ich stimme zu - wenn Sie parametrisierte Abfragen verwenden - sieht es so aus, als sollte so etwas nicht benötigt werden . Weitere Informationen: http://www.owasp.org/index.php/ESAPI –