Aşağıdaki kod sql enjeksiyonuna eğilimlidir. ASLA bildiğim CommandBuilder her zaman SELECT/UPDATE/INSERT komutları oluştururken parametreli sorgular kullanır.Datalandpter var. SQL enjeksiyon için eğilimli güncelleyin?
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");
}
}
Kodum oldukça güvenli değil mi? – user6095165
Evet, bir komut üreticisi kullanıyorsunuz. –