ストアドプロシージャで動的SQLを使用する必要があります。SQLインジェクションを引き起こす可能性のある文字を削除する関数
動的SQLはSQLオブジェクトを作成するため、パラメータ化してsp_executesql
で実行することはできません。
ストアドプロシージャのパラメータ変数をチェックし、不正な文字があるかどうかを教えるSQL関数がありますか?またはそれらを削除するか、これらの文字のリストがありますか?
DECLARE @variable = 'password OR 1=1'
IF IsSqlInjectionPossible(@variable)
BEGIN
RAISERROR('Illegal input characters',16,1)
RETURN
END
またはあなたがそれを行うにはどうすればよい
SET @variable = removePossibleSqlInjection(@variable)
よう
は何か?