我使用VS2005 C#ASP.NET和SQL Server 2005防止SQL注入在SELECT語句
我有我的ASP頁面上搜索功能,我覺得我的選擇查詢很容易受到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();
我想改變我的選擇聲明像我INSERT聲明,改用參數。我可以知道我應該如何改變它?
謝謝
我的答案有問題嗎?你需要更多的幫助嗎? – dknaack