Je SqlCommand.Parameters.AddWithValue
metóda injekčne bezpečná?
Prijíma Object
pre užitočné zaťaženie, ako by mohla chrániť pred injekciou?
odpovede:
6 pre odpoveď č. 1V skutočnosti závisí od toho, ako ich používate.
Pozrite si rozdiel tu. Prvý je bezpečný, ale nie druhý.
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);
Viac podrobností nájdete na stránke Zabezpečuje asp.net proti útokom sql injekcie