Ist der folgende Code anfällig für SQL-Injektion? Soweit ich weiß, verwendet CommandBuilder immer parametrisierte Abfragen beim Generieren seiner SELECT/UPDATE/INSERT-Befehle.Ist Datenadapter. Update anfällig für SQL-Injektion?
using (var dataAdapter = new SqlDataAdapter(selectCommand))
using (var cmdBuilder = new SqlCommandBuilder(dataAdapter))
{
cmdBuilder.ConflictOption = ConflictOption.OverwriteChanges;
using (var dataset = new DataSet())
{
dataAdapter.UpdateBatchSize = 0;
dataAdapter.AcceptChangesDuringFill = false;
dataAdapter.AcceptChangesDuringUpdate = false;
stopwatch.Start();
dataAdapter.Fill(dataset, "ABC");
dataset.AcceptChanges();
ds.tables[0].Rows["ABC"] = MALICIOUS SQL INJECTION ATTEMPT; // let's
say this is where the end user could slip malicious string he wanted
into
dataAdapter.Update(dataset, " ABC");
}
}
Also mein Code ziemlich sicher, oder? – user6095165
Ja, Sie verwenden einen Befehlsersteller. –