
我已經放了一個網頁這解釋了我如何設定 Visual Studio 設定。這包括 .vsix 副檔名的下載(「Erweiterungen installieren」、「縮排指南」下的「下載」)或 .config 檔案(進一步向下為「CodeMaid.config」)。
Internet Explorer 和 Edge 是僅有的兩種故意將這些下載檔案的副檔名變更為下載後無法執行的瀏覽器。 Firefox 只是按照 Web 伺服器的指示執行操作,並將下載的檔案保存在指定的名稱下。
我可以透過為其提供 MIME 類型“application/vsix”來處理 .vsix 情況。否則 IE 會將此類文件解釋為 .zip(技術上它們是這樣的)。無論如何都不能重命名它們,因為 .zip 的開啟方式與 .vsix 檔案完全不同。
不過 .config 檔案沒有特殊的 MIME 類型。它實際上只是一個 XML 文件,IE 將其重命名為 .xml。不幸的是,它旨在用於需要 .config 檔案的程式。
為什麼 Internet Explorer 會破壞各種各樣的東西?怎麼能阻止它幹這種蠢事呢?我發現了一些關於 IE 8 的 HTTP 標頭“X-Content-Type-Options: nosniff”的信息,但這並沒有改變任何東西,所以我認為它是錯誤的或者也被破壞了。或者也許我現在只需要三個標題?
答案1
使用以下 HTTP 標頭:
- X-下載選項:noopen
- 內容處置:附件;檔案名稱=untrustedfile.html
MIME 處理:強制保存
最後,對於需要提供不受信任的 HTML 檔案的 Web 應用程序,我們引入了一種機制來幫助防止不受信任的內容損害您網站的安全性。當新的 X-Download-Options 標頭的值是 noopen 時,使用者將無法直接開啟檔案下載;相反,他們必須首先在本地保存文件。當稍後開啟本機儲存的檔案時,它不再在網站的安全性上下文中執行,有助於防止腳本注入。
參考