ActiveX
ActiveX佇廣義頂懸是講微軟公司的規个 COM 架構,但是這馬通常用來稱呼是標準 COM 來介面來實現物件連結佮1875入去(OLE)的 ActiveX 控制項。後者是講對 VBX 發展而來的,面向微軟 Internet Explorer 技術而設計的以 OCX 為副檔名的 OLE 控制項。通過定義容器佮組件之間的介面規範,若編寫一个遵循規範的控制項,遐爾會當足方便的佇加種容器內底使用毋免修改控制項的程式碼。仝款,通過實現標準介面呼叫,一个遵循規範的容器會當誠簡單的作穡入任何遵循規範的控制項。因為 OLE 佇咧 ActiveX 控制項中的套用的普及,這馬乎 OLE 技術當中干焦少數獨立於 ActiveX 技術,譬如講複合文件。
簡介
一寡瀏覽器,比如講 Internet Explorer、Google Chrome、網景瀏覽器等等這陣抑是捌攏佇無仝程度上支援 ActiveX 控制項。這允准網頁通過指令碼佮控制項互動產生閣較豐富的效果,同時嘛帶來一寡安全性的問題。Internet Explorer 佮一寡其他應用程式同時支援 ActiveX Documents 介面規範,允准佇一个應用程式中樞入另外一个支援這个規範的應用程式。足濟套用軟體,比如講微軟仔 Microsoft Office 系列佮 Adobe 的 Acrobat Reader 攏實現矣這个規範。
侍服器捀 ActiveX 組件通常是指執行佇服務處理程序中的組件。一个典型套用是佇咧 IIS 中執行的 ASP 指令碼建立的 ActiveX Data Objects,嘛稱 ADO。 市場上有誠濟開發工具支援開發佮使用 ActiveX 控制項。
ActiveX Documents 泛指一般採用 ActiveX 技術作為介面所使用的檔案,上早始佇二空空年左右,彼當陣因為網際網路的興起,當時的軟體巨剝微軟為拍敗當時發達的瀏覽器 Netscape 所使出策略,彼當陣市場佮弱勢的 IE 想欲將彼陣微軟市仔占率上懸的 office 檔案應用佇咧 IE 上,好拍敗 Netscape,故使出予 IE 瀏覽器毋免共 Office 的檔案轉做標準的 HTML 網頁嘛會當讀甚至修改編輯,所以兩千後的 IE 攏提供直接開啟 ActiveX Documents(如 . doc . ppt . . . 等副檔名)之檔案,這項策略果然佇幾年後,將 Netscape 完全逐出市場。因為 Office 的檔案干焦微軟仔會當解讀,所以後來的瀏覽器就是按呢 Google 的 Chrome 就袂當直接拍開如果 PPT 抑是 DOC 等檔案,毋過隨著雲端運算的興起,相信這个狀況會改變。
運作原理
使用 ActiveX 元件
一 . 彼每一个 ActiveX 元件攏用一个唯一的 GUID 編碼佇咧登錄資訊的 ` HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Classes \ CLSID \ ` 佮 ` HKEY _ CLASSES _ ROOT \ CLSID \ ` 處註冊其實 DLL 檔案路徑。濟个 ActiveX 元件會當共下咧仝一个 dll 檔 àn-nāi,但是所有開放使用的 ActiveX 元件攏著愛用各人的 GUID 編號登記佇咧登錄資訊內底。 二 . 當該 ActiveX 元件的 dll 檔,使用 LoadLibrary 抑是 LoadLibraryEx 的 API 載入了後,以 GetProcAddress 取得 DllGetClassObject 這个定義佇咧 dll 檔內底的函式的進入點。 三 . 接咧呼叫 DllGetClassObject,以取得 IClassFactory 的指標。 四 . 閣經由 IClassFactory 去 CreateInstance,做該 ActiveX 元件初初的時陣閣咧操作。
安全性
因為 Microsoft 佇咧 Windows 內建真濟 ActiveX,致使著一寡惡意的網站捌利用遮的 ActiveX 進行自動安裝病毒抑是後尾門。 比如講:
- Scripting . FileSystemObject,這乎 ActiveX 會當操作新增加改檔 àn-nāi 容。
- WbemScripting . SWbemLocator,這乎 ActiveX 會當操作 WMI,進一步存取登錄資訊。
- WScript . Shell,這乎 ActiveX 會當對瀏覽器內底直接執行外部的執行檔。
所以,Microsoft 陸續咧 IE 上增加二種的封鎖 ActiveX 執行的方法。先是佇二空空七年加上 ActiveX 相容性旗標(Killbit)功能,經由 ActiveX 元件開發廠商的向 Microsoft 回報了後,由 Windows Update 發佈 KillBit 的更新。若尾閣佇 IE 九以後的版本加上 ActiveX Filtering 功能,予 IE 的瀏覽者會當自訂是毋是封鎖特定的 ActiveX 元件。
淘汰
佇二空一五年七月二九發行的 Windows 十,會支援袂 ActiveX 的 Microsoft Edge 瀏覽器,取代使用濟年的 Internet Explorer 做為 Windows 預設瀏覽器。但是互相容性需要,Windows 十閣內底起 Internet Explorer 十一供使用者選用。
參考資料
相關
- ADO
- NPAPI
- IUnknown