感想→続: そろそろUTF-7について一言いっとくか

http://d.hatena.ne.jp/hasegawayosuke/20071022/p1

について感想を。すげぇぇぇ。

alert(1)の代わりにalert(document.charset)とならどうだろとか思ってスクラッチでいろいろ作ってみました。

んで、わかったのですが、条件によっては1個のalert()なのに、2回もアラートしやがるですよ。最初はutf-7,次はShift_JISとかいう具合に。

つまぁり。title要素の中でUTF-7ぽいので一旦はalert("utf-7")とかするくせに、meta要素でcharsetを指定されてみると、「あ、いかんいかん、こりゃShift_JISだったのねん、最初からやりなおすから勘弁してチョ」というのがIEの気持ちなのねん。・・・もうね。

調子にのって、「美乳」とかいう文字をEUC-JP表現でシコタマ(←ここがかんじん)title要素において、そのあとalert(document.charset)してみましたよ。あ、後続するmeta要素ではShift_JISなのねん。

そしたら、euc-jp とか最初alertして、次にShift_JISだったのねんとalertしやがりました。

無論、もう少しゴニョゴニョしたのは言うまでもありません。onload時点と比べたりとか。

結論。やっぱHTMLの文法なりサーバ側でのきちんとした処理とかを意識したウェブアプリは自動的にXSSに対して耐性があるってことなのね。

それと、対応策の別解としてtitle要素の中身を、1バイト文字や2バイト文字にこだわらずに全て文字参照しておいたら、とか思ったけれどこのケースに限って言えばバッドノウハウだなぁ。