一般社団法人 全国個人事業主支援協会

COLUMN コラム

以前の担当者のコードを修正する際に、上記が考慮されていなかったことがありました。

SQLインジェクションとは、SQL文の入力値に不正なSQL文を注入してデータベース不正操作する攻撃のことです。

SQLインジェクション対策をしていないと、SQL文が攻撃によって意図しない挙動を示し、データが改ざんされたり抜き取られたりする可能性があります。

以前のコードでは、下記の例のように入力値をそのままSQL文に埋め込んでいました。

string sql = $@“Update hoge SET ***カラム =  ‘{hogehoge}’ WHERE id = ‘{id}'”

今回は下記の例のようにAddWithValueメソッドを利用してSQLインジェクション対策を行いました。

string sql = $@“Update hoge SET ***カラム =  @hogehoge WHERE id = @id

// SqlCommandの処理とかは省略

command.Parameters.AddWithValue(“@hogehoge”, “hogehoge”);

command.Parameters.AddWithValue(“@id”, 1);

SQLインジェクションには気を付けましょう!

The following two tabs change content below.

曽根 航

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア