を防ぐために使用することができます私は^201[0-9]Q[0-9]$
の正規表現をSQLに渡されたパラメータに対して実行します。は、正規表現は、SQLインジェクションに
これで保護すれば十分ですか、とにかく正規表現を悪用できますか?いくつかの擬似コード:
if NOT validateToken(quarter) then
sql = "EXEC dbo.spTest '"&quarter&"'"
end if
おかげで、あなたのケースで
を防ぐために使用することができます私は^201[0-9]Q[0-9]$
の正規表現をSQLに渡されたパラメータに対して実行します。は、正規表現は、SQLインジェクションに
これで保護すれば十分ですか、とにかく正規表現を悪用できますか?いくつかの擬似コード:
if NOT validateToken(quarter) then
sql = "EXEC dbo.spTest '"&quarter&"'"
end if
おかげで、あなたのケースで
、はい、チェックがSQLインジェクションを防ぐのに十分です。 入力したチェックの種類は、ユーザーの入力を処理する際に必要なチェックの種類です。
大まかには、ユーザーが提供するデータとSQLコードを連結することはできません。つまり、パラメータの内容について包括的なチェックをしない限りはありません。
WAIT! .NetまたはSQLのパラメータをチェックしていますか? .Netの場合、あなたは安全です。 安全でないコードがSQLに到達すると、あなたは嫌になります。
サーバー側のコード - SQLではない – pee2pee
どのように/どこでチェックし、それ以降にデータベースを呼び出すかによって異なります。 –
データを挿入する前に、データを常に検証しています。次に、すべての条件が満たされた場合にのみ、配列としてのデータを配列のDB層に渡し、配列上でループスルーして、それをエスケープ/消去します。 – vaso123