我已經在我的搜索看到使用SQL查詢參數字符串如下形成的:參數字符串和LIKE和通配符
SqlCommand comm = new SqlCommand();
comm.CommandText="SELECT * FROM table WHERE field LIKE '%'[email protected]+'%'";
comm.Parameters.AddWithValue("var","variabletext");
SqlDataReader reader = comm.ExecuteReader();
然而,在這個論壇中提到,受到SQL注入儘管它被用於參數化字符串中。我只能假設連接字符串繞過了所有參數化的安全性,並直接將該值作爲字符串插入。如果是這樣的話,在避免SQL代碼注入的同時,如何在參數化查詢中使用通配符運算符?
-1您應該檢查所有關於sql注入問題的異常。看看這裏:http://stackoverflow.com/questions/1429866/examples-of-sql-injection-even-when-using-sqlparameter-in-net – Rikki
@MohammadGoudarzi - 你錯了。這裏沒有SQL注入問題。 OP已經在使用參數化查詢。它們恰好將某些參數連接起來。他們不是通過串聯創建可執行字符串。 –
@MohammadGoudarzi我相信馬丁是對的。我添加了一個編輯,使我的使用更清晰。 – steventnorris