カテゴリー
最近更新したページ
メニューバーA
ここは自由に編集できるエリアです。
メニューバーB
ここは自由に編集できるエリアです。

SQLインジェクション

SQLが改竄されるセキュリティホール。
画面等から入力された検索条件をSQLに組み込む際、通常の文字列連結を使用して組み込むと、もし検索条件にSQLが含まれていると、SQLの中に別のSQLが組み込まれSQLが変化し、意図しない結果をもたらすことになる。これを「SQLインジェクション」という。
SQLインジェクションを使用することで、最悪、好きなSQLを実行されてしまうため、外部から重要な情報を盗み出したり、データの変更や削除をされる可能性がある。
 
SQLインジェクションを防ぐためには、検索条件をサニタイジングして「SQLではない状態にする」ことが必要となる。
このサニタイジングはPreparedStatementインターフェイスのsetString()メソッド等を使用することで行うことができる。
そのため、外部からの入力をSQLに組み込む場合には必ずその組み込む箇所を「?」にし、PreparedStatementインターフェイスを用いて実行する。

JavaA2Z
2005年12月25日(日) 11:19:54 Modified by mizunobara




スマートフォン版で見る