Internet Explorer によるダウンロードの名前変更を停止する

Internet Explorer によるダウンロードの名前変更を停止する

私はウェブページこれは、Visual Studio の設定方法を説明しています。これには、.vsix 拡張子 (「インストールの完了」、「インデント ガイド」の下の「ダウンロード」) または .config ファイル (さらに下の「CodeMaid.config」) のダウンロードが含まれます。

Internet Explorer と Edge は、ダウンロード ファイルの拡張子を意図的に変更して、ダウンロード後に動作しなくなるようにする唯一の 2 つのブラウザーです。Firefox は、Web サーバーの指示に従って、ダウンロードしたファイルを指定された名前で保存するだけです。

.vsix の場合は、MIME タイプ「application/vsix」を指定することで対処できます。そうしないと、IE はそのようなファイルを .zip (技術的には .zip) として解釈します。.zip は .vsix ファイルとはまったく異なる方法で開かれるため、いずれにしても名前を変更してはなりません。

ただし、.config ファイルには特別な MIME タイプはありません。これは単なる XML ファイルであり、IE によって .xml に名前が変更されます。残念ながら、これは .config ファイルを必要とするプログラムで使用するためのものです。

なぜ Internet Explorer はあらゆるものを壊してしまうのでしょうか? このような無意味な動作を止めるにはどうしたらよいでしょうか? IE 8 の HTTP ヘッダー「X-Content-Type-Options: nosniff」について何かを見つけましたが、今日では何も変わっていないので、間違っているか壊れているのだと思います。それとも、今のところヘッダーがあと 3 つ必要でしょうか?

答え1

次の HTTP ヘッダーを使用します。

  • X-ダウンロードオプション: noopen
  • コンテンツ配置: 添付ファイル; ファイル名=untrustedfile.html

MIME処理: 強制保存

最後に、信頼できない HTML ファイルを提供する必要がある Web アプリケーション向けに、信頼できないコンテンツがサイトのセキュリティを侵害するのを防ぐためのメカニズムを導入しました。新しい X-Download-Options ヘッダーに値 noopen が含まれている場合、ユーザーはファイルのダウンロードを直接開くことができず、代わりに最初にファイルをローカルに保存する必要があります。ローカルに保存されたファイルを後で開くと、サイトのセキュリティ コンテキストで実行されなくなり、スクリプト インジェクションを防ぐのに役立ちます。

参考文献

関連情報