對 Internet Explorer 的批評

Internet Explorer 是一款招致了許多批評的網頁瀏覽器。大部分批評都集中在其安全架構以及對開放標準的支援程度上。

對其安全性的批評

Internet Explorer 的安全性已被來自電腦安全研究社群全面審查，部分原因是因為市場被其獨佔。Internet Explorer 的安全漏洞已經使得其成為主流瀏覽器中較不安全的一個。

2005 年 6 月 20 日，安全諮詢網站 Secunia 列出了 Internet Explorer 6 的 20 個無補丁的安全漏洞，在每一個安全級別中，絕大部分漏洞存在的時間都比其他瀏覽器的時間長，但其中的一些漏洞只會影響特定版本的 Windows 上的某些 Internet Explorer 或是在與某些其他應用程式結合時才會暴露。

另一安全諮詢網站 SecurityFocus 列出了存在於 Windows XP Service Pack 2 的 Internet Explorer 6 中 27 個無補丁安全漏洞。在 Windows XP SP2 上的早期 Windows 中存在更多。

2004 年 6 月 23 日，一個目的在於大公司 IIS 伺服器的攻擊即是透過使用 Internet Explorer 中兩個先前未發現的漏洞，藉以在不知情的大量終端使用者的瀏覽器中插入垃圾郵件傳送軟體而成。該惡意軟體被定名為 Download.ject，它會在使用者瀏覽網頁時偷偷電腦中安裝後門以及一個鍵盤擊鍵記錄軟體。被感染的電腦包括許多金融網站。

Art Manion 是美國電腦緊急相應小組（US-CERT）的一名代表，他指出 Internet Explorer 6 SP1 的許多設計使得 Internet Explorer 6 天生就不可能安全，他說道：

}}

Manion 隨後聲名他的講話大部分是相對於 2004 年釋出 SP2 前的，並且其他瀏覽器也開始在上述 CERT 檔案中面臨類似的問題。

值得注意的是 XP SP2 所提供的一些功能對於先前版本的 Windows 並不可用，它們包括 Windows 9x，NT 和 2000。

另外，一些與 Internet Explorer 相關的安全漏洞也令需要的 Windows 使用者突破安全許可權。一個例子是，在 Windows XP 中，預設時系統是不允許普通使用者組（User 使用者組）的使用者以管理員組（Administrator 使用者組）許可權進行特權操作的。但實際上，這種情況下駭客可以執行一個專用程式碼實現對電腦作業系統的完全控制。這種破解行為也將導致任何瀏覽器以不受限的特權狀態執行。對於其他系統普通使用者的日常操作來說，使用超級使用者（Power User 使用者組）進行日常操作是不明智的，但攻擊者可以依賴於 Windows 系統中這個處於不適當級別的瀏覽器程序。然而，也有許多 Windows 中的程式離開管理員特權無法執行或效果變差，所以其他系統中的正常操作可能對於 Windows 使用者來說是不切實際。

許多的安全分析者指出 IE 經常爆出嚴重漏洞是因為它獨佔市場份額，所以駭客把其優先作為攻擊目標。然而，也有許多批評指出這種說法是不全面的；Apache 網路伺服器的市場份額比微軟 IIS 要高，但 Apache 幾乎沒有安全漏洞，就算有也相較 IIS 說是很輕微 Mundie 曾經承認微軟公司的產品「對常態而言是不安全的」而這是因為微軟「設計時更注重功能而非安全」

結果這樣導致許多問題，一些安全專家，包括 Bruce Schneier 以及開源倡導者 David A. Wheeler ，推薦廣大使用者停止使用 Internet Explorer 作為日常瀏覽器，而轉換其他瀏覽器作為替代。一些技術專欄作家也建議過類似的話 。2004 年 6 月 6 日，US-CERT 釋出的漏洞報告建議立即停止使用 IE 而該用其他，尤其是訪問非信任站點時更應如此。2004 年 12 月，賓夕法尼亞大學釋出的一篇文章告誡學生和員工馬上丟棄使用 IE 並改用其他瀏覽器。

1.1 元件物件模組

許多的 IE 安全問題皆與元件物件模組（COM）相關。IE 透過 ActiveX 或瀏覽器幫助物件（Browser Helper Object）將 COM 深植其中。這種功能的結合為電腦病毒、特洛依木馬程式以及間諜軟體的進入大開方便之門。

這些惡意軟體的攻擊與傳遍通常皆要利用 ActiveX。微軟早已經認識到這一問題，1996 年 Charles Fitzgerald－微軟的 Java 團隊程式負責人曾說，「如果你想在『網路上』安全，請關掉你的電腦。我們從來沒有準備讓 ActiveX 安全。

ActiveX 控制元件，一旦執行，即可獲得使用者特權而非像其競爭技術（如 Java 與 JavaScript）那樣被限制的執行。ActiveX 控制元件一如既往的是一個非標準的不可在非 Windows 平臺上移植的技術。一份普林斯頓大學教授 Edward Felten 的文章 指出 :

}}

ActiveX 的安全依賴於安全區域的設定和數字簽名，而沒有類似沙盒以及元政策的指導

}}

ActiveX 的安全問題首次被發現是在 1997 年，混沌電腦俱樂部（Chaos Computer Club）這家機構展示了一個可以與使用者手持裝置中 Intuit 的 Quicken 金融軟體自動進行連線的 ActiveX 控制元件，這個程式會自動將使用者帳號上的錢轉移至 CCC 的銀行帳號。

美國國防部 (DoD) 已經將 ActiveX 定義為 1 類（最危險）的移動程式碼技術，並嚴格限制 ActiveX 在 DoD 系統內的使用。

也有專家認為 ActiveX 的風險被過分誇張了，而其實 ActiveX 是有安全機制的。eWeek 的 Larry Seltzer 指出：

}}

已釋出的 Windows Defender 可以監視 Windows 2000，XP and Server 2003 下 IE 中的 BHO，並對欲新安裝 BHO 對使用者作出警告。

1.2 補丁

很多人批評 IE 常常在發現問題很長時間後才釋出對應的補丁，而且釋出的補丁常常不能完全修復漏洞。如微軟在 2003 年 2 月釋出初始報告後 200 天才釋出出補丁（而不是 30-60 天），Marc Maifrett，eEye Digital Security 的 Hacking 部門主管說過：“如果它們真的需要花費如此長的時間來修復 (以及測試)，那麼他們還有別的問題。這不是一個軟體公司的運作常態。”The Register 則批評 Maifrett 公佈的安全漏洞導致了 CodeRed 在那年的流行，也有人認為：「如果他們沒有發現引起公眾慌亂、ida 漏洞或是他們的 SecureIIS 產品有能力防衛，紅色程式碼蠕蟲就不會感染數千臺系統。

微軟將他們的延期歸咎於區域測試。公司對 Internet Explorer 進行測試的軟體是複雜而完全的。IE 瀏覽器以 26 種不同語種釋出在不同的 Windows 平臺上。因此，對每個補丁的測試估計需要進行 最少 237 次安裝 。

雖然安全補丁持續在不同平臺上釋出，但現今大部分補丁只針對 Windows XP 釋出。

1.3 間諜軟體・廣告軟體與 Windows XP SP2

間諜軟體與廣告軟體，如同其他的惡意軟體一樣，通常把目標對準 Windows/Internet Explorer 為基礎的作業系統。較舊的間諜軟體對系統的危害已經因為 Windows XP SP2 的安全增強而有所緩解，但對 IE 新型的攻擊會在 SP2 上安裝間諜軟體。微軟不建議在已經感染間諜軟體的系統上安裝 SP2，因為這可能導致不能自舉：

視已安裝的間碟軟體而定，在 SP2 更新準備工作中，我們可透過反間諜工具移除間碟軟體或在一些嚴重情形中，需要手動修改登入檔（Windows Registry）。 然而，保安專家普遍建議安裝 Service Pack 2。

對其不支援開放標準的批評

在 1990 年代的瀏覽器戰爭時代，Internet Explorer 與 Netscape Navigator 都不得不致力於在瀏覽器中新增非標準功能。這與近來以 web 標準設計的瀏覽器形成鮮明對比。在版本號 5 後，IE 的 Trident 渲染引擎幾乎沒有進行過重大修改。結果在 2005 年，IE 在支援標準上已經大大落後。

雖然每一個版本的 IE 都會改善基本支援，包括在版本 6 中引採用的「符合標準模式」，其中用來建立網頁（HTML 和 CSS）的核心標準卻仍然是以不完全且不正確的方式來實作的。舉例來說，它不支援 元素，但這是 HTML 4.01 標準的一部份，而且它對 CSS1 標準中的 float-margin 部分的實作有缺陷。Internet Explorer 盒模型錯誤是 Internet Explorer 對 CSS 標準的實作中，最為人熟知的缺陷之一。

由於它在市場上的主導地位，使得某些網頁開發人員只用 Internet Explorer 來測試他們的網站。某些開發人員也使用 Internet Explorer 所提供的非標準擴充套件。這導致網頁無法被其他瀏覽器正確地解讀。最糟糕的情況下，它可能會阻擋其他瀏覽器的使用者存取這些開發人員所建立的網站。

雖然 Netscape 已經停止開發 Netscape Navigator，微軟的 Internet Explorer 因而取得了非常大的市場佔有率，而後開發 Netscape Navigator 的程式員與一些不滿 Internet Explorer 的技術人員創立了 Mozilla 組織並以 Netscape Navigator 作基礎開發了 Mozilla Application Suite 與 Mozilla Firefox。

2.1 影像標準

由於 IE 不支援 PNG 影像的 Alpha 通道，導致 PNG 影像格式在網上使用率的減少。雖然只是一個可選的特性，Alpha 通道卻是把 PNG 與其他像 GIF 或者 JPEG 這樣的格式相區別的一個特色。 在 Internet 瀏覽器中，透明的部分的形象將被顯示作為灰色，白或者其他顏色。

隔行或漸進顯示對於過去大量使用的撥號上網而頻寬非常有限的使用者非常有用。不過，Internet Explorer 的影像不支援於未完成下載時開啟。但由於寬頻因特網連線的引進，現在這問題已沒那麼重要。

2.2 XHTML

2.3 HTTP 與 MIME

不像其他瀏覽器，Internet Explorer 不允許 MIME 在 Content-Type 信頭段中定義 MIME 型別。比如一個純文字格式的檔內包含了 HTML 樣式的標記就會被識別為 HTML 文件，而不是純文字文件。但在這種情況下，可以透過手動修改登錄檔的方式強行改變執行行為。

2.4 JavaScript 與 DOM

微軟擴充套件了原先網景的 JavaScript 並專稱其為 JScript，JScript 是 Internet Explorer 的預設指令碼語言。與 Netscape's JavaScript 有相似的實現，JScript 支援 ECMAScript 的完整規範，網際網路上唯一的標準化指令碼語言。

最大的不同在於與 JScript 繫結的文件物件模型（DOM）。

2.5 Unicode

Internet Explorer 對多語言文字支援 Unicode 標準，因此其理論上有能力顯示任何已經安裝字型的字元。但實際上，Internet Explorer 不會對混和 Unicode 文字自動選擇字型。這種情況下字元可能會以一個空格結束或顯示為問號。

網頁設計者必須猜測在使用者電腦上顯示哪種字型最為合適，如果需要改變就需要對每個 Unicode 塊進行手動改變。而對其他瀏覽器卻可以自動完成這個操作。

以 Unicode 之中的英文的音標為例，當網頁中，欲顯示的音標字串的前後有使用與所包起來時。IE6 以前的版本，無法正常顯示出英文的音標。但 IE7 則已修正了此 Bug。