2011年2月28日月曜日

AccessmdbのSQLインジェクション対策

1つ前の書き込み「VBScript IsNullとかIsEmptyとかIsNumericとか」で、
「実際にはポストされていないデータをRequestで取得してしまった場合、その値はEmptyとなる」
また、「IsNumeric(Empty)はTrueになる」ということを確認しました。

Access MDB では、数値型を「'(シングルクォート)」で囲むことができないため、
クエリに数値型のパラメータを埋めこまなくてはならない場合、埋め込む値が
数値型であるかどうかを厳密にチェックする必要があります。
VBScriptのIsNumericだけでは意図したチェックにならない可能性があるので、
注意しなくてはなりません。

Webのようなインジェクションの恐れがある環境で、
データベースにmdbを用いないのが本来だとは思うのですが・・・。

0 件のコメント:

コメントを投稿