2011-12-06 12 views
0

私はCMSで作業しています。入力がDBに保存される前に、管理バックエンドから送信されたすべての制御文字(BEL、NUL、LF、FF)を取り除きたいと思います。コードで保存が行われるたびにこれを行うメソッドを呼び出すのではなく、一度やりたいと思います。.Net DbCommandサニタイズ入力

すべてのDBアクセスは、DbCommandをラップするクラスを使用して行います。すべてのパラメータの値をループし、制御文字を削除するメソッドを呼び出すことで、1つの場所に実装され、開発者はメソッドを新しいデータ保存コードに使用することを忘れないようにすることができればと思っていました。

私はクレイジーですか?これは可能ですか?これに近づく最善の方法は何か?

答えて

0

入力サニタイズは、IDbCommandの実装によって行われます。パラメータ文字列の値をさらに処理したい場合は、IDbCommandを実装するdecoratorを実装し、内部メソッドに実行メソッドを委譲する前に検証を実行するのはなぜですか?

0

あなたのデザインや意図などを知らないうちに

いいですね。ループ中にRegex.Replace()を呼び出してください。あなたはまた、すべての文字を置くことができます。テーブルや設定ファイルで削除/置き換えが必要なので、ハードコードされずに簡単に更新できます。

関連する問題