看板 Ajax 關於我們 聯絡資訊
來自Web伺服器的每一個文件都有對應的MIME類型(也稱為content-type),描述文件內 容的屬性,比如圖片、文件、應用程式等。最近,IE開發經理Eric Lawrence在IE官方部 落格中就MIME處理方式的變化和安全性做了詳細解釋。 http://blogs.msdn.com/b/ie/archive/2010/10/26/ mime-handling-changes-in-internet-explorer.aspx 縮 http://bit.ly/aAJ9sv 以前,某些HTML元素(特別是Link和Script)不會驗證Web服務器提供的MIME類型。例如 ,即使Script的src屬性指向一個聲明為text/plain類型的文件,瀏覽器也會運行Script 腳本。Eric強調這種方式存在安全隱患: 這會導致一些安全漏洞,特別是Link元素。 比如這樣一種攻擊,惡意網站包含一個指向另一網站HTML內容的Link引用。如果 HTML內容包含常見字符,那麼可能會被惡意網站的頁面腳本訪問。這種資訊洩露 會導致跨網站請求偽造和其他攻擊(詳見Carnegie-Mellon大學的一篇論文)。 http://websec.sv.cmu.edu/css/css.pdf 在最近發佈的一個安全更新中,微軟開發團隊修改了IE6/7/8的CSS處理方式——阻止所有 跨源樣式表(cross-origin stylesheet)除非它們聲明了正確的HTTP相應頭: Content-Type: text/css,這種保護措施可以確保Link和@IMPORT不會成為竊取其他網站 內容的幫凶。 對於IE 9來說,除了修復以上問題,在MIME處理方面還包括了三個重要的安全性變化: 1. 在IE 9標準模式下,同源樣式表也必須採用正確的text/css類型,否則會被忽略。 2. 如果伺服器端指定X-Content-Type-Options: nosniff,那麼Script元素將拒絕錯誤 的MIME類型回應,在這種情況下正確的MIME類型是 ["text/javascript"、"application/javascript"、"text/ecmascript"、 "application/ecmascript"、"text/x-javascript"、"application/x-javascript"、 "text/jscript"、"text/vbscript"、"text/vbs"]。 3. 採用text/plain類型傳輸的文件,IE不會主動將其判定成另一類型。 http://www.infoq.com/cn/news/2010/10/ie-mime -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.176.157