【发布时间】:2014-04-19 00:30:24
【问题描述】:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["techconn"].ToString());
SqlCommand com = new SqlCommand("select * from hs where ac between'" + TextBox1.Text + "'and '" + TextBox2.Text + "' and em='" + DropDownList1.SelectedItem.Text.ToString() + "'", con);
DataTable dt = new DataTable();
con.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter(com);
sqlDa.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
else
{
GridView1.Visible = false;
}
con.Close();
这段代码对 SQL 注入安全吗?
如果不是,请更正此代码,使其免受 SQL 注入。
我使用的是 SQL Server 2008。
【问题讨论】:
-
不,不安全。您需要对 SQL 参数 进行一些研究。
-
@AndrewMorton 请纠正此代码
-
这是一个教科书式的易受注入攻击的代码示例。
-
这不是一个“为我写代码”的网站。你必须付出一些努力。 How to Ask.
标签: sql sql-server c#-4.0 sql-injection