【发布时间】:2019-10-24 02:30:28
【问题描述】:
我怎样才能使它不易发生 SQL 注入?这些代码是向数据库插入数据,很多人说这种格式很容易被SQL注入。
private void DBConn()
{
string ConString = "datasource = localhost; Username = root; Password=; database = logbook";
MySqlConnection DBConnnect = new MySqlConnection(ConString);
try
{
DBConnnect.Open();
MySqlCommand cmd = DBConnnect.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into tbl_data (Student_Number, Name, Strand, Section) values('"+textBox1.Text+"', '"+textBox2.Text+"', '"+textBox3.Text+"', '"+textBox4.Text+"')";
cmd.ExecuteNonQuery();
DBConnnect.Close();
MessageBox.Show("Student registered successfully");
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
【问题讨论】:
-
请注意,这是一个等待发生的 sql 注入攻击,切勿将用户输入传递给这样的查询
-
您可能希望考虑使用 Dapper 等,因为它们可以相对容易地避免 SQL 注入问题。
标签: c#