Я использую VS2005 C # ASP.NET и SQL Server 2005.
У меня есть функция search на моей странице asp, и я чувствую, что мой запрос SELECT уязвим для внедрения SQL.
Это мой текущий SELECT оператор:
string LoggedInUser = (User.Identity.Name);
SqlDataSource1.SelectCommand = "SELECT * FROM [TABLE1] where [" + DropDownList1.Text + "] like '%" + searchTB.Text + "%' AND [empUser] LIKE '%"+LoggedInUser+"%'";
SqlDataSource1.DataBind();
* где searchTB
- мое текстовое поле поиска; DropDownList1
моя категория поиска; LoggedInUser
- имя пользователя, вошедшего в систему.
Я реализовал параметр вместо конкатенации в одном из моих операторов INSERT :
string sql = string.Format("INSERT INTO [TABLE2] (Username) VALUES (@Username)");
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("Username", usernameTB.Text);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
Я бы хотел изменить свой оператор SELECT , как мой оператор INSERT , используя вместо этого параметр. Могу ли я узнать, как мне это изменить?
Спасибо