さまざまなデータベースシステムのデータベースクエリーへのユーザー入力のエスケープをサポートする.Netプロジェクト/ dllがありますか?SQLクエリーのエスケープ - .Netのさまざまなデータベースプラットフォームのサポート
チーム全体を標準化して1つのモジュールを使用して、ユーザー指定の入力をエスケープして、パラメータ化されたSQLクエリで使用することを希望します。
設定ファイルにデータベースシステム(oracle、SqlServer、mySqlなど)を指定し、Escape(variableName)を呼び出すことができ、現在のデータベース設定に基づいて文字列の内容をエスケープするのが理想的ですweb.configファイルに保存します。
ない場合は、次善の策は、プロジェクトでは、Oracle、のSQLServerとMySQLをサポートしなければならない最低限などEscapeForOracle、EscapeForSqlServer、のようなもの
だろう。
これを社内で作成する必要があるのか、これを行うために既存の商用/オープンソース製品が存在するかどうかは疑問です。
「パラメータ化されたSQLクエリ」と言って、エスケープすると言います。あなたはそれが何を意味するか分かりません。 達成したい具体例をいくつか挙げてください。私は、あなたが宅内開発のルートを下りたい場合に使用できる開始コードを持っているかもしれません。 –
Lasseが正しいです - すべてのユーザ提供データにパラメータを使用すると(SP内に動的SQLを構築しない場合)、エスケープする必要はありません。 –
私はESAPI(http://code.google.com/p/owasp-esapi-dotnet/)のような何かをするプロジェクトを見つけたようです。残念ながら、現時点では、SqlServerではなくOracleとMySqlのみがサポートされています。 詳細情報はhttp://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_3:_Escaping_all_User_Supplied_Input ですが、私は同意します - パラメータ化されたクエリを使用する場合、このようなものは必要ないはずです。 詳細情報:http://www.owasp.org/index.php/ESAPI –