SqlCommand.Parameters.AddWithValue
メソッドはインジェクションセーフですか?
ペイロードObject
の
SqlCommand.Parameters.AddWithValue
メソッドはインジェクションセーフですか?
ペイロードObject
の
実際には、それらをどのように使用するかによって異なります。
ここで違いを見てください。1 つ目は安全ですが、2 つ目は安全ではありません。
sqlCommand.CommandText = "select * from Books where Title = @title";
sqlCommand.Parameters.AddWithValue("title", txtTitle.Text);
string sql = "select * from Books where title = " + txtTitle.Text;
sqlCommand.CommandText = "exec(@sql)";
sqlCommand.Parameters.AddWithValue("sql", sql);