fbpx
维基百科

ActiveX

ActiveX在广义上是指微软公司的整个COM架构,但是现在通常用来称呼基于标准COM接口来实现对象链接与嵌入(OLE)的ActiveX控件[1]后者是指从VBX发展而来的,面向微软的Internet Explorer技术而设计的以OCX为扩展名的OLE控件。通过定义容器和组件之间的接口规范,如果编写了一个遵循规范的控件,那么可以很方便地在多种容器中使用而不用修改控件的代码。同样,通过实现标准接口调用,一个遵循规范的容器可以很容易地嵌入任何遵循规范的控件。由于OLE在ActiveX控件中的应用的普及,现在OLE技术中只有少数独立于ActiveX技术,例如复合文档。

ActiveX
原作者Microsoft
開發者Microsoft
初始版本1996年,​27年前​(1996
网站microsoft.com/com/tech/activex.asp

簡介

一些浏览器,例如Internet ExplorerGoogle Chrome网景浏览器等等现在或曾经都在不同程度上支援ActiveX控件。这允许网页通过脚本和控件交互产生更加丰富的效果,同时也带来一些安全性的问题。Internet Explorer和一些其他应用程序同时支援ActiveX Documents接口规范,允许在一个应用程序中嵌入另一个支持这个规范的应用程序。很多应用软件,例如微软的Microsoft Office系列和AdobeAcrobat Reader都实现了这个规范。

服务器端ActiveX组件通常是指运行在服务进程中的组件。一个典型应用是在IIS中运行的ASP脚本创建的ActiveX Data Objects,也称ADO。 市场上有很多开发工具支援开发和使用ActiveX控件。

ActiveX Documents泛指一般採用ActiveX技術作為接口所使用的文件,最早始於2000年左右,當時由於網際網路的興起,當時的軟體巨擘微軟为打敗當時崛起的瀏覽器Netscape所使出策略,當時市場處於弱勢的IE想要將當時微軟市佔率最高的office文件應用於IE上,好打敗Netscape,故使出讓IE瀏覽器不需將Office的文件轉換成標準的HTML網頁也能讀取甚至修改編輯,因此2000後的IE均提供直接開啟ActiveX Documents(如.doc.ppt...等副檔名)之文件,這項策略果然在數年後,將Netscape完全逐出市場。而由於Office的文件只有微軟能解讀,因此後來的瀏覽器如Google的Chrome就不能直接打開如PPT或DOC等檔案,不過隨著雲端運算的興起,相信這情況將會改變。

運作原理

使用ActiveX元件
  1. 每一個ActiveX元件都各自用一個唯一的GUID編碼在登錄資訊的HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\[2]HKEY_CLASSES_ROOT\CLSID\之處註冊其DLL檔案路徑。多個ActiveX元件可以放在同一個dll檔案內,但是所有開放使用的ActiveX元件都必須以各自的GUID編號登記在登錄資訊裡。
  2. 當該ActiveX元件的dll檔,使用LoadLibrary[3]或LoadLibraryEx[4]的API載入後,以GetProcAddress[5]取得DllGetClassObject[6]這個定義在該dll檔裡的函數的進入點。
  3. 接著呼叫DllGetClassObject,以取得IClassFactory[7]的指標。
  4. 再經由IClassFactory去CreateInstance[8],進行該ActiveX元件初始化的後續操作。

安全性

由於Microsoft在Windows內建許多ActiveX,因此導致一些惡意的網站曾經利用這些ActiveX進行自動安裝病毒後門。 例如:

  • Scripting.FileSystemObject,這個ActiveX可操作新增或修改檔案內容。[9]
  • WbemScripting.SWbemLocator,這個ActiveX可操作WMI,進而存取登錄資訊。[10]
  • WScript.Shell,這個ActiveX可從瀏覽器之中直接執行外部的執行檔。[11]

因此,Microsoft陸續在IE上增加2種封鎖ActiveX執行的方法。先是在2007年加上ActiveX相容性旗標(Killbit)功能,經由ActiveX元件開發廠商的向Microsoft回報後,由Windows Update發佈KillBit的更新。而後又在IE 9以後的版本加上ActiveX Filtering功能,讓IE的瀏覽者能夠自訂是否封鎖特定的ActiveX元件。[12]

淘汰

在2015年7月29日發行的Windows 10,會以不支援ActiveX的Microsoft Edge瀏覽器[13],取代使用多年的Internet Explorer做為Windows預設瀏覽器。但為相容性需要,Windows 10仍內建Internet Explorer 11供使用者選用。

參考資料

  1. ^ Introduction to ActiveX Controls. [2013-08-15]. (原始内容于2013-09-27). 
  2. ^ CLSID Key. [2013-08-16]. (原始内容于2013-09-21). 
  3. ^ LoadLibrary function. [2013-08-16]. (原始内容于2016-06-14). 
  4. ^ LoadLibraryEx function. [2013-08-16]. (原始内容于2013-07-22). 
  5. ^ GetProcAddress function. [2013-08-16]. (原始内容于2013-07-31). 
  6. ^ DllGetClassObject entry point. [2013-08-16]. (原始内容于2013-10-18). 
  7. ^ IClassFactory interface. [2013-08-16]. (原始内容于2019-09-19). 
  8. ^ IClassFactory::CreateInstance method. [2013-08-16]. (原始内容于2019-09-19). 
  9. ^ Programming the FileSystemObject. [2013-08-15]. (原始内容于2013-08-07). 
  10. ^ SWbemLocator object. [2013-08-15]. (原始内容于2013-05-11). 
  11. ^ Run Method (Windows Script Host). [2013-08-15]. (原始内容于2013-08-07). 
  12. ^ How to use Tracking Protection and ActiveX Filtering in Internet Explorer 9. [2013-08-15]. (原始内容于2013-08-15). 
  13. ^ Gregg Keizer. Microsoft nixes ActiveX add-on technology in new Edge browser. www.computerworld.com. 10 May 2015 [2016-04-23]. (原始内容于2015-05-14). 

相關

activex, 此條目需要精通或熟悉相关主题的编者参与及协助编辑, 2013年8月15日, 請邀請適合的人士改善本条目, 更多的細節與詳情請參见討論頁, 在广义上是指微软公司的整个com架构, 但是现在通常用来称呼基于标准com接口来实现对象链接与嵌入, 的控件, 后者是指从vbx发展而来的, 面向微软的internet, explorer技术而设计的以ocx为扩展名的ole控件, 通过定义容器和组件之间的接口规范, 如果编写了一个遵循规范的控件, 那么可以很方便地在多种容器中使用而不用修改控件的代码, 同样, . 此條目需要精通或熟悉相关主题的编者参与及协助编辑 2013年8月15日 請邀請適合的人士改善本条目 更多的細節與詳情請參见討論頁 ActiveX在广义上是指微软公司的整个COM架构 但是现在通常用来称呼基于标准COM接口来实现对象链接与嵌入 OLE 的ActiveX控件 1 后者是指从VBX发展而来的 面向微软的Internet Explorer技术而设计的以OCX为扩展名的OLE控件 通过定义容器和组件之间的接口规范 如果编写了一个遵循规范的控件 那么可以很方便地在多种容器中使用而不用修改控件的代码 同样 通过实现标准接口调用 一个遵循规范的容器可以很容易地嵌入任何遵循规范的控件 由于OLE在ActiveX控件中的应用的普及 现在OLE技术中只有少数独立于ActiveX技术 例如复合文档 ActiveX原作者Microsoft開發者Microsoft初始版本1996年 27年前 1996 网站microsoft wbr com wbr com wbr tech wbr activex wbr asp 目录 1 簡介 2 運作原理 3 安全性 4 淘汰 5 參考資料 6 相關簡介 编辑一些浏览器 例如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技術作為接口所使用的文件 最早始於2000年左右 當時由於網際網路的興起 當時的軟體巨擘微軟为打敗當時崛起的瀏覽器Netscape所使出策略 當時市場處於弱勢的IE想要將當時微軟市佔率最高的office文件應用於IE上 好打敗Netscape 故使出讓IE瀏覽器不需將Office的文件轉換成標準的HTML網頁也能讀取甚至修改編輯 因此2000後的IE均提供直接開啟ActiveX Documents 如 doc ppt 等副檔名 之文件 這項策略果然在數年後 將Netscape完全逐出市場 而由於Office的文件只有微軟能解讀 因此後來的瀏覽器如Google的Chrome就不能直接打開如PPT或DOC等檔案 不過隨著雲端運算的興起 相信這情況將會改變 運作原理 编辑使用ActiveX元件每一個ActiveX元件都各自用一個唯一的GUID編碼在登錄資訊的HKEY LOCAL MACHINE SOFTWARE Classes CLSID 2 與HKEY CLASSES ROOT CLSID 之處註冊其DLL檔案路徑 多個ActiveX元件可以放在同一個dll檔案內 但是所有開放使用的ActiveX元件都必須以各自的GUID編號登記在登錄資訊裡 當該ActiveX元件的dll檔 使用LoadLibrary 3 或LoadLibraryEx 4 的API載入後 以GetProcAddress 5 取得DllGetClassObject 6 這個定義在該dll檔裡的函數的進入點 接著呼叫DllGetClassObject 以取得IClassFactory 7 的指標 再經由IClassFactory去CreateInstance 8 進行該ActiveX元件初始化的後續操作 安全性 编辑由於Microsoft在Windows內建許多ActiveX 因此導致一些惡意的網站曾經利用這些ActiveX進行自動安裝病毒或後門 例如 Scripting FileSystemObject 這個ActiveX可操作新增或修改檔案內容 9 WbemScripting SWbemLocator 這個ActiveX可操作WMI 進而存取登錄資訊 10 WScript Shell 這個ActiveX可從瀏覽器之中直接執行外部的執行檔 11 因此 Microsoft陸續在IE上增加2種封鎖ActiveX執行的方法 先是在2007年加上ActiveX相容性旗標 Killbit 功能 經由ActiveX元件開發廠商的向Microsoft回報後 由Windows Update發佈KillBit的更新 而後又在IE 9以後的版本加上ActiveX Filtering功能 讓IE的瀏覽者能夠自訂是否封鎖特定的ActiveX元件 12 淘汰 编辑在2015年7月29日發行的Windows 10 會以不支援ActiveX的Microsoft Edge瀏覽器 13 取代使用多年的Internet Explorer做為Windows預設瀏覽器 但為相容性需要 Windows 10仍內建Internet Explorer 11供使用者選用 參考資料 编辑 Introduction to ActiveX Controls 2013 08 15 原始内容存档于2013 09 27 CLSID Key 2013 08 16 原始内容存档于2013 09 21 LoadLibrary function 2013 08 16 原始内容存档于2016 06 14 LoadLibraryEx function 2013 08 16 原始内容存档于2013 07 22 GetProcAddress function 2013 08 16 原始内容存档于2013 07 31 DllGetClassObject entry point 2013 08 16 原始内容存档于2013 10 18 IClassFactory interface 2013 08 16 原始内容存档于2019 09 19 IClassFactory CreateInstance method 2013 08 16 原始内容存档于2019 09 19 Programming the FileSystemObject 2013 08 15 原始内容存档于2013 08 07 SWbemLocator object 2013 08 15 原始内容存档于2013 05 11 Run Method Windows Script Host 2013 08 15 原始内容存档于2013 08 07 How to use Tracking Protection and ActiveX Filtering in Internet Explorer 9 2013 08 15 原始内容存档于2013 08 15 Gregg Keizer Microsoft nixes ActiveX add on technology in new Edge browser www computerworld com 10 May 2015 2016 04 23 原始内容存档于2015 05 14 相關 编辑維基教科書中的相關電子教程 如何安装及卸载ActiveXADO NPAPI IUnknown 取自 https zh wikipedia org w index php title ActiveX amp oldid 72653532, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。