これまではアプリケーション開発以前の基盤の話題を説明してきたが,今回からいよいよ具体的な設計・開発におけるセキュリティ対策について説明する。まずは,Webアプリケーションへの入力値の取り扱いについてだ。 Webアプリケーションにおける「入力」とは,主にHTTPリクエストに含まれるクエリー文字列(Query Strings),POSTデータ(Post Data),クッキー(Cookie),その他のHTTPリクエスト・ヘッダー(Refererなど)といったものを指す。入力源としてはこれら以外にも,電子メール,ファイル,データベース参照などが挙げられる。 ぜい弱性はどこで発生するか 具体的なセキュリティ対策の説明を始めるに当たって,ここで改めてWebアプリケーションの基本構造と,様々なぜい弱性がどこで発生するかを示しておこう。図1は,Webアプリケーションの動作を「入力/処理/出力」という古典的