我有以下WHERE
條件在SELECT
語句:逃逸用戶輸入參數
WHERE ('.' + column_name LIKE @prefix))
而@prefix
參數被設置如下:
cmd.Parameters.AddWithValue("@prefix", "%[^a-z]" & prefix & "%")
的prefix
變量從形式取輸入。
我遇到的問題是當用戶輸入'%'或'['或其他特殊字符。我怎樣才能確保這些逃脫而不是被視爲特殊字符?
相關:一般來說,您如何阻止人們在輸入中輸入'%'並將其視爲通配符?
可能的重複[如何清理SQL Server中的動態SQL - 防止SQL注入](http://stackoverflow.com/questions/4102387/how-to-cleanse-dynamic-sql-in-sql-server-預防-Sql注入) –
@PreetSangha我認爲這個問題範圍較窄,因爲它要求在'LIKE'表達式中轉義元字符。 – dasblinkenlight