✔ 最佳答案
●【網路快譯通】名詞解釋 - ActiveX
ActiveX是微軟以COM(Component Object Model)為基礎,並針對網路需求修改而成的技術,可以讓網路環境下的程式進行互動,而創造出互動性更高、內容更豐富的網頁。不過ActiveX過強的系統存取能力,卻成了惡意程式滋生的土壤,讓系統安全面臨更大危機。
近來系統安全的熱門話題已經從病毒、駭客轉移到間諜軟體和廣告軟體,從原本只被視為不痛不癢的侵擾(annoyance),搖身一變成為惡名昭彰的系統安全的威脅,間諜與廣告軟體大肆氾濫的原因和ActiveX技術脫不了關係。雖然ActiveX可以大幅提升程式開發和使用的便利,也帶來了不小副作用。到底什麼是ActiveX?它有什麼優點,有什麼安全風險?
ActiveX是由微軟所開發的一種技術的名稱,不過有人認為ActiveX不專指一種特定的技術,而與「廠牌名稱」的概念比較相近,實際上包含了許多項不同的技術。姑且不論兩種說法孰是孰非,可以確定的是,ActiveX技術是微軟以原來的COM(Component Object Model)為基礎,並針對網路需求修改而成,可以讓網路環境下的不同程式進行互動,透過它可以讓程式和網頁設計人員輕鬆建構動態的資訊表達方式,並且增加網頁的互動性,讓網頁更活潑。
經常和ActiveX搞混的是「ActiveX 控制項」(Active Control)。ActiveX是一項技術,而ActiveX控制項是根據ActiveX技術開發出來的獨立元件,這些元件可以隨意組合使用,例如許多防毒廠商的線上掃毒功能、網頁內嵌影片播放功能、以及各種令人討厭的工具列都是透過安裝相應的ActiveX控制項來達成目的。
ActiveX控制項的能力和一般Windows程式相同,也就是擁有完全存取電腦的能力,一般程式做的到的,ActiveX控制項也可以。這正是ActiveX被認為不安全的主因,試想我們使用IE瀏覽網頁時,因一時不察而同意安裝惡意的ActiveX控制項,如此一來我們的電腦就會完全暴露在風險中而任人宰割,這是多麼可怕的事。
為了控制強大的ActiveX控制項潛藏的風險,微軟發展了一套註冊系統(registration system),讓瀏覽器在下載控制項前,可以辨識控制項是否經過授權,以降低安全性風險。這就是我們上網會經常碰到的,詢問你是否同意安裝某項工具的對話盒。面對如此強大的ActiveX控制項,使用者的防身武器卻只有這個對話盒,也難怪ActiveX會成為系統安全的重大罩門。
面對種種潛藏的危機,一般使用者該如何自保?除了上網時提高警覺不要隨意安裝來路不明的工具外,還可以考慮使用IE以外較安全的瀏覽器,另外也可以安裝ActiveX相關工具,隨時掌握系統的狀況,確保電腦安全。
http://paper.udn.com/udnpaper/POH0025/73311/web/
●ActiveX Control
ActiveX元件,介面和Type Library
ActiveX元件簡單的說,就是一個系統層級的可重複使用元件。就像BCB的VCL元件可以讓你使用於任何的BCB應用程式之中一樣,ActiveX元件允許你使用它於任何支援ActiveX元件的軟體之中。例如BCB,Delphi,VB和IE都是支援ActiveX元件的軟體。
每一個ActiveX元件都提供了許多的特性和方法可以讓使用它的應用程式呼叫使用。ActiveX元件也可以和使用它的應用程式連結在一起。ActiveX元件所提供的特性、方法和事件主要是藉由COM模型之中所謂的介面(Interface)功能提供的。ActiveX元件是從COM模型之中的COM物件演化而來的,要瞭解ActiveX元件,程式師必須先對於COM物件有一個基本的瞭解。
但是當我們使用任何的OCX或是ActiveX元件的時候,BCB怎麼會知道這個COM 元件到底提供了那些介面,而每一個介面之中又有哪些的特性、方法和事件呢?由於Microsoft的COM物件是一個類似plug-and-play的軟體IC,任何支援COM物件的容器(container)工具,例如BCB和Delphi,都可以讓你加入這些軟體IC加以使用。由於一個COM物件可以使用在任何的容器工具之中,因此每一個COM物必須有一種機制能夠告訴容器工具這個COM物件可以提供的功能以及各種的特性。這個機制便稱為「Type Library」。
Type Library敘述了一個COM物件之內所有的資訊。雖然我們現在知道一個COM物件的所有特性資訊是儲存在Type Library之中。但是到底Type Library 是以什麼形式出現的?它是如何產生的?如何能夠讀取其中的資訊?
一般來說Type Library本身有數種不同的面貌。它可以是存在於一個檔案,或是和OCX/ActiveX物件本身儲存在一起。也就是說一個OCX/ActiveX的Type Library可以是存在於*.TLB的檔案之中,或是儲存在*.DLL,*.EXE,*.OCX,*.OLB的檔案之中。
http://dslab.ee.ncku.edu.tw/~eddie/Report/ActiveX_BCB.htm