質問: PHPで修行中の者です。 以下のようなフォームを作ってテストしていますが XSS対策を施そう四苦八苦しています。 通常のタグやなどはエスケープ出来るのですが、
回答: 直接、今発生している問題解決につながるかどうか分かりませんが、根本的な誤りとして、htmlspecialchars によるエスケープ処理を「入力時」の行っている点です。 XSS: 今こそXSS対策についてまとめよう - 徳丸浩の日記(2008-08-22) 徳丸浩さんのちょっと古い記事ですが、基本は、 * 入力時は処理はアプリケーションの要件で決まる。 * 出力時にエスケープ処理を行う。 です。 XSS を含めた Web アプリケーションのセキュリティ対策にとしては、まずは IPA から出ている下記の資料を読んでみてください。 安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構 あと、通称「徳丸本」と呼ばれる「体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」はバイブル的存在で、持っておいて損は無いと思います。 ![体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践](http://ecx.images-amazon.com/images/I/41lX6Fg5KpL._SL160_.jpg "体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践")体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 * 作者: 徳丸浩 * 出版社/メーカー: ソフトバンククリエイティブ * 発売日: 2011/03/03 * メディア: 大型本 * 購入: 119人 クリック: 4,283回 * この商品を含むブログ (139件) を見る