UTF-7のセキュリティ
UTF-7といえばセキュリティでしか聞かない名前ですが,ちょっと調べてみたのでメモ.
UTF-7
7bitでだいたいの文字列を表現できる西洋の言語に対して,日本語などのマルチバイト文字を扱う方法が必要である.SMTPは8bit-cleanであることが保証されていない*1ので,メールではbase64エンコードなどが使われている.
ただ,base64エンコードは普通のascii文字列も変換してしまうので人間が見たときに読みづらい.なるべくascii文字列はそのままにしてそれ以外の文字だけを特別にエンコードする方法が欲しかった.
ブラウザの脆弱性
第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編]:本当は怖い文字コードの話|gihyo.jp … 技術評論社
- Internet ExplorerはUTF-7でウェブページを解釈するときがある
- ちゃんとcharsetを指定しましょう.
- metaタグはtitleタグより前におきましょう.
*1:8bit目はparityやflag(?)に指定されている http://en.wikipedia.org/wiki/8-bit_clean