コンテンツにスキップ

SQLインジェクション

SQLインジェクションとは、システムの不備を悪用し、
不正な操作をするためのSQLを実行すること、あるいはその脆弱性を指す

具体的には、HTMLの入力フォームにセミコロン ; やシングルクォーテーション ' 等の
SQLコマンドを入力し、不正に情報を入手するといったことが報告されている

対策方法

SqlParameterを使って安全なマッピングをする

var myCommand = new SqlDataAdapter("AuthorLogin", conn);

myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;

SqlParameter parm = myCommand.SelectCommand.Parameters
                    .Add("@au_id", SqlDbType.VarChar, 11);

parm.Value = Login.Text;

C# Linqを使用

Reference

SQLインジェクション
パラメーターおよびパラメーター データ型の構成