記事本文
何故 text/plain ?
また改めて追記すると思いますが、とりあえずメモ的に。
<HTML> <HEAD> <META http-equiv="refresh" content="5;url=http://d.hatena.ne.jp/LucaLuca/"> <TITLE></TITLE> </HEAD> <BODY> <P>これはエクステンションがgifだが実はhtml</P> </BODY> </HTML>
実態は HTML であり、しかし拡張子は .gif なファイルをどう扱うか、という話。
Internet Explorer6 SP2以外ではリフレッシュタグにてGoogleに転送されるが、IE6SP2ではテキストとして扱われる。
IEの旧バージョンでも対応してもらえるとうれしいんだが。
私はまだ SP2 にしていないので確認のしようがないのですが、テキストとして ( text/plain として ? ) 扱われるのも変な気がします。 拡張子 ( というかメディアタイプ ) を基に判別するのなら、 image/gif として扱うのが自然な挙動ですし、実際に Firefox で表示しようとすると、壊れた画像として扱われています。 ( Ctrl + J で確認しても image/gif として処理されていました。 )
かと言って、従来の IE の必殺技 (?) 、「メディアタイプなどを無視しておせっかいにもファイルの中身から自動で判別」機能 ( 勝手に命名 ) が健在なら HTML として扱われて
<META http-equiv="refresh" content="5;url=http://d.hatena.ne.jp/LucaLuca/">
が生きるはずですし……。
IE 6.0 SP2 は設定によって挙動を制御できるらしい
11月10日の時点で、紹介したテスト環境紹介にて「Internet Explorer 5.01 SP4(Windows2000 SP4)」を「Internet Explorer 5.01 SP4(WidnowsXP SP2)」と誤って書いたために一部の読者に無用な混乱を起こした事をこの場を借りてお詫び申し上げます。
今回紹介した罠URL問題は、XP SP2でのIE SP2では生じません。
とのことです。 よって、記事タイトルの IE は SP2 でも謎挙動 ? は、一部誤りということになります。
しかし、何故「一部」なのか。 実は、 IE 6.0 SP2 であっても、設定によってはメディアタイプではなくファイルの中身から判断する挙動を行うからです。
Windows XP Service Pack 2 では、"MIME スニッフィング" に基づいてファイルをある種類から別の種類にプロモートするために、新しい機能制御に関するレジストリ設定項目である FEATURE_MIME_SNIFFING を導入します。 MIME スニッフィングとは、ビット署名に基づいて、Internet Explorer がファイルの種類を認識することです。 MIME スニッフィングの詳細については、後述する「Internet Explorer MIME 処理の励行」を参照してください。
このレジストリ設定をオンにすると、URL アクション フラグの URLACTION_FEATURE_MIME_SNIFFING を使用して、個々のセキュリティゾーン内の設定をさらに制御することができます。 [セキュリティの設定] の [ファイル拡張子ではなくコンテンツに基づいてファイルを開く] オプションがこの URL アクションを表します。 このオプションは [有効] と [無効] の 2 つの値を取ることができます。
- この Internet Explorer 機能制御に関して [ファイル拡張子ではなくコンテンツに基づいてファイルを開く] を選択すると、Windows XP Service Pack 1と同様にゾーンのセキュリティが保護されます。 このゾーンにはセキュリティ機能の MIME スニッフィングは適用されません。 該当のセキュリティ ゾーンには、この機能によりセキュリティのレイヤーが重ねられることはありません。
- この機能を無効にすると、有害な可能性のあるアクションを実行することはできません。 Internet Explorer のこのセキュリティ機能は、プロセスの機能制御の設定に応じて、このゾーン内でオンにされます。
[ファイル拡張子ではなくコンテンツに基づいてファイルを開く] オプションを有効にした場合、 SP1 以前と同じように、コンテンツの中身から自動で判断する挙動を行うようです。 ( これが私が表現するところの謎挙動 )
Windows XP SP2 を適用している方に http://www.geocities.jp/luca_lucanian/fakegif.gif をテストしてもらったところ、 [ファイル拡張子ではなくコンテンツに基づいてファイルを開く] オプションを有効にしていた場合は HTML と判断されて処理されました。 続いて、 [ファイル拡張子ではなくコンテンツに基づいてファイルを開く] オプションを無効にしてテストしてもらったところ、やはり HTML と判断されて処理されました。 ……あれ ?
Windows XP SP2 を適用したとは言え IE は IE
Windows 2000 SP4ユーザーにとっては、XP SP2用IESP2にて行われている各種の対策は、裏でひっそりと取り残されたような違和感を感じるのだ。
それは前回の日記で紹介した各種の罠やExploitが、XP SP2用IESP2では実は既に無効なものだった点でより確信となった。
LucaLuca さん ( LucaLucaのWindows大好きっ子日記 ) は Windows XP SP2 でしか対策が行われておらず、 Windows 2000 やそれ以前の Windows OS はある意味切り捨てられているようになっている現状に対しての抗議をこの言葉に込めています。
私もそれに同意見であるので、 XP 以外の OS にも Service Pack の提供を !! と言おうと思ったのですが、前項でのテスト結果が予想外のものであったため、何とも言えない状況になってしまいました。
これを機に、 IE を見限って Firefox や Opera に移行しましょう、と結論付けちゃダメでしょうか。 ( 「ユーザがセキュリティの高いブラウザをインストールすること」と、「ベンダが OS にバンドルするブラウザのセキュリティを高めること」は全く別次元の話ではありますが。 )
![[改訂新版]実践 Web Standards Design - Web標準の基礎とCSSレイアウト&Tips](http://lh3.jp/files/images/2011/hopbook.png)

