0
以下のコードはSQLインジェクションを受けやすいですか?私はこれまで、CommandBuilderはSELECT/UPDATE/INSERTコマンドを生成するときに常にパラメータ化されたクエリを使用しています。dataadapterです。 SQLインジェクションに脆弱性がありますか?
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");
}
}
だから私のコードはかなり安全ですか? – user6095165
はい、コマンドビルダーを使用しています。 –