
| OD03-57 | 満席 | 4月24日(金) 16:00〜17:00 |
|
【Database】
エキスパートが教えるSQLインジェクションに負けないPL/SQLプログラミング
"SQL injection"をGoogleで検索すると、300万件ものヒットがあります。このトピックがいかに多くの人の関心をそそり、妄信的な不安感をかきたてるものであるかをうかがい知ることができます。このセッションでは、SQLインジェクションについてわかりやすく説明するとともに、SQLインジェクションに耐性のあるPL/SQLプログラムを記述する明快な方法をお教えします。まずは、SQLインジェクションのなんたるかを知らなければ、回避できるはずもありません。そこで、このセッションではSQLインジェクションの詳しい解説から始めます。解説を通して、SQLインジェクションが起こり得るのは、実行時に作成されたSQL文をPL/SQLサブプログラムで実行する場合だけであるということがわかってくるでしょう。この点が理解できれば、SQLインジェクションを避けるには、PL/SQLのコンパイル時にテキストが確定しているSQL文だけが実行されるようにすることが最善の方法であることは誰の目にも明らかです。こうしたことから、このプレゼンテーションでは、SQL文を動的生成が必要になる要件シナリオを中心に取り上げていきます。ただし、このような要件シナリオは、多くのプログラマが考えるよりもずっと少なく、コンパイル時に確定したSQL文のテキストを使用することで十分に対応できる場合が多いのも事実です。そのため、コンパイル時にSQL文を確定するシナリオについてもいくつか説明します。そのほか、SQL文の動的生成がどうしても必要となる、比較的珍しいシナリオへの対応についても触れておきます。これにより、このような状況下でインジェクションへの耐性を保証するルールについて理解することができます。これらのルールに従うことは驚くほど簡単です。そのうえ、プログラマが見逃しがちな極端なケースにおいても、インジェクションが起きないことを確認できるというおまけもあることを考えれば、インジェクション対策として学んでおいて損はありません。
オラクル・コーポレーション
Bryn Llewellyn
凡例 | |
| 同時通訳のあるセッションです。 | |
| 事例セッションです。 | |
| ハンズオンセッションです。 | |
| パネルディスカッションです。 | |
| 有料セッションです。 | |
| グリーンIT対応セッションです。 | |
| プレゼントセッションです。 |
※セッションタイトルおよびセッション概要は本日現在のものであり、多少変更になる可能性があります。予めご了承ください。
