連載:本当は怖い文字コードの話|gihyo.jp … 技術評論社
を読んだメモ。
UTF-7対策(for IE)
HTTPレスポンスヘッダ(apache/IIS) を正しく設定。
Content-Type: text/html; charset=hogehoge
hogehogeは正しく。
metaタグでの指定は、タイトル部などにutf-7を埋め込まれる可能性がある。
US-ASCII対策
HTTPレスポンスヘッダの設定。
不正なバイト列対策
「危険な文字列を検出」ではなく「安全な文字列を生成」するようにする。
- 出力しても安全な要素として<div> <a> <p>などを定めておく
- <a> の属性としては href,titleのみを許可する
- href の属性値としてhttp://およびhttps://で始まる文字列のみ許可する
しっかし、大変だな。