水無月ばけらのえび日記

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偽装問題

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)

その他サイト