我正在一个基于新闻的网站上工作。该网站有一个新闻标题的搜索栏,我不想让 SQL 注入发生在上面。
我正在做的是从文本框中获取文本,然后使用查询来获取匹配的结果。这是当用户单击搜索按钮时发生的情况:
protected void button_Click(object sender, EventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
try
{
SqlCommand comm = new SqlCommand("SELECT * FROM news
Where newstilte LIKE '%" + searchbox.text + "%'", conn);
conn.Open();
SqlDataReader reader = comm.ExecuteReader();
myRepeater.DataSource = reader;
myRepeater.DataBind();
reader.Close();
}
catch (Exception exception)
{
Response.Write(exception.ToString());
}
finally
{
conn.Close();
}
}
如您所见,然后我使用中继器来显示结果。我想知道如何防止人们在文本框中写入的部分中的 SQL 注入。