LoginSignup
1
0

More than 5 years have passed since last update.

SQL インジェクション

Posted at

SQL Injectionとは、アプリケーションにおいてRDBで任意の値を検索条件、更新内容等に使用する場合に、任意のSQL文を実行させてしまう手法です。これは、Webアプリケーションに限らず、RDBを使用しているクライアント・サーバー型のアプリケーションでも発生する可能性があります。

この攻撃手法を悪用することで、ユーザーは開発者、運用管理者が予期しないようなSQL文を発行し、RDBを自由に操作することが出来るようになります。つまり、データの削除、追加、改ざん、取得といったことから、RDBMSによってはDBサーバーでOSコマンドすら実行できるようになってしまいます。

特に昨今のWebサービスでは背後にRDBがおかれ、個人情報など重要な情報がRDBに格納されていることが非常に多くなっています。このため、SQL Injectionに対策することは重要です。

インジェクション対策

SQLインジェクションの対策として最も代表的なものが PreparedStatementクラスの利
用です。PreparedStatement を利用した場合、ユーザーからの入力値はバインド変数とな
るため、SQL 文の構文を確定させることが出来ます。
記号を打ったとしても、値でしか返さない。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0