2

SqlCommand.Parameters.AddWithValueメソッドはインジェクションセーフですか?

ペイロードObject

4

1 に答える 1

7

実際には、それらをどのように使用するかによって異なります。

ここで違いを見てください。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);

詳細については、asp.net が sql インジェクション攻撃から保護されているかを参照してください。

于 2012-10-19T01:56:49.543 に答える