水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > MSIE6 もう駄目かも

MSIE6 もう駄目かも

2003年12月18日(木曜日)

MSIE6 もう駄目かも

スターダストさんの 18日 (d.hatena.ne.jp)で触れられている MSIE の話、これまた強烈ですね。簡単に整理すると、

最初の奴ですが、スターダストさんの環境ではフリーズするとの報告。私の Windows XP + IE6 SP1 でもフリーズしました。「0%完了しました」と出たままの状態でプログレスバーが全く進まず、固まります。

キャンセルボタンを押しても全く反応なしで、二進も三進もいきません。いちおう、タスクマネージャから強制終了すると黙って終わってくれました。

どうして固まるのかは単純で、javascript: な URL のリソースを保存しようとしているからでしょう。img要素src属性でやるとこうなります。

「保存中: javascript: alert() …… 0% 完了しました」

※……でも、ならないで src 属性が空になる場合があるような……。

ちなみに javascript: ではなく mailto: な URL で試してみたところ、フリーズはせず「保存できない」というダイアログが出ました。

二番目ですが、それはもう実にいろいろなものが書き換えられます。想像を絶しています。どうも .mht というのは単にページを保存するのではなく、メールに添付するための形式として保存するという主旨のようで、そのために書き換えていると思われる節もあるのですが……なんとも読み切れません。

いろいろやってみましたが、一番訳が分からないのが !iのテストを .mht で保存したときの挙動です。勝手に Transitional にされていたり、!i が片方だけ展開されているのも謎なんですが、末尾のアンカーが書き直されているのはどうして……(.mht で保存後、ソース表示してそのまま保存したもの)。

Microsoft の「[IE5]Web ページがアーカイブ ファイル (*.mht) 形式で保存できない (support.microsoft.com)」などを見ると、.mht で保存しているのは MSIE ではないように思えますので、MSIE とは別のパーサーが仕事をしているのかもしれません (generator を見ると MSHTML なんですが、MSIE は MSHTML を使っていない……?)。

ともかくこれによって、サニタイズしたつもりのものが .mht 保存によって「復活」する可能性があるわけです。具体的に何かマズいケースがあるのかどうかはまだ分かりません。要検証です。

そして三番目。これはありえない、ありえないよ……。

@import*<>!/-&%$).,;_^~#(=url(script.css);

こんなのがインポートされるはずがない、はずがない、はずがないんですが…… (でもインポートされちゃうテストぺージ。ちなみにスクリプト無効の場合は「中止」を押すまで固まってますので注意)。[a-zA-Z0-9"'] にマッチする文字を入れるとインポートされなくなります。BELL とかの制御文字でも OK (無視され、インポートされる)。

これはもう駄目かも……。

関連する話題: UA / Internet Explorer / セキュリティ / Internet Explorer URL偽装問題

最近の日記

関わった本など