免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ActiveX控件解析

ActiveX控件解析

ActiveX是Microsoft對于一系列面向?qū)ο蟪绦蚣夹g和工具的稱呼,其中主要的技術是組件對象模型(COM)。ActiveX控件是Microsoft為抗衡Sun的JAVA技術而提出的,功能和JAVA applet功能類似。在Windows系統(tǒng)中,有一些以OCX結尾的文件。OCX代表"對象鏈接與嵌入控件"(OLE),用于處理桌面文件的混合使用?,F(xiàn)在COM的概念已經(jīng)取代OLE的一部分,Microsoft也使用ActiveX控件代表組件對象。組件的最大優(yōu)點就是可以被大多數(shù)應用程序再使用(這些應用程序稱為組件容器)。使用ActiveX控件可快速實現(xiàn)小型的組件重用、代碼共享,從而提高編程效率,降低開發(fā)成本。大家小時候都玩過七巧板和積木,用簡單的形狀就能構造出我們所能想象出的各種千奇百怪的物體,編程也是這樣,組件就好比積木塊,我們把組件按不同的方式組合起來,就能實現(xiàn)單個程序達不到的功能。ActiveX控件運行在客戶端。通過它,我們可以獲得客戶端的一些信息,如IC卡的信息,客戶端的驗證等,同時,它也可以在我們?yōu)g覽網(wǎng)頁時,得到更多的功能體驗,比如觀看Flash動畫、欣賞電影、歌曲等等。但是ActiveX控件也有許多缺點,最大的缺點是客戶端的部署很困難,如客戶端不能正確下載,下載了以后不能正確執(zhí)行,下載的時候需要設置IE的安全級別等等,這也是我行網(wǎng)銀使用中客戶咨詢的熱點。另外一個缺點就是由于ActiveX控件可被黑客用來放毒,所以大多數(shù)安全類軟件都會對其嚴防死守,這也給我行的控件安裝帶來了很大的影響。為了幫助大家解決控件安裝使用中的一些問題,我將從以下幾方面對控件做一個簡單的介紹。

 

控件的工作原理

在介紹控件之前,有必要先來講一下GUID。

在生活當中,很多事物都可以用一個編號來進行標識,汽車可以用號牌來標識,網(wǎng)卡可以用MAC地址來標識,而人也可以用身份證號來標識,那么在軟件世界,面對不同的國家、不同的廠商以及他們所開發(fā)出來的不同的組件、不同的接口,我們怎么來標識呢?我們是用一個GUID結構來標識不同的對象、組件及接口的,GUID是英文globally unique identifier(全球唯一標識符)的首字母縮寫,它是微軟使用的一個術語,通過特定的算法,它可以給某一個實體創(chuàng)建一個唯一的標識,并且此標識符是全球唯一的。

一個GUID共有128位長(16字節(jié)),形如XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。其中每個X是0-9或A-F范圍內(nèi)的一個十六進制的數(shù)字。根據(jù)定義,GUID在時間和空間上都是唯一的。為保證空間唯一性,每一個GUID需要一個對于生成它的計算機來說是單一的48位值。這個值一般就是機器所裝網(wǎng)卡的地址。使用這個值可以保證不同的機器上所生成的GUID值是不相同的。為保證時間上的唯一性,每一個GUID值具有一個60位的時間戳。這個時間戳表示自1852年10月15日00:00:00.00以來以100納秒為間隔的記數(shù)值。根據(jù)目前的算法,可保證到公元3400年GUID值仍然是唯一的。

GUID的使用非常廣泛,我們平時經(jīng)??吹?,如注冊表、類及接口標識、數(shù)據(jù)庫、以及自動生成的機器名、目錄名等,你可以打開你的系統(tǒng)盤下的\WINDOWS\Installer目錄,可以看到很多類似{0A869A65-8C94-4F7C-A5C7-972D3C8CED9E}的文件夾,這就是系統(tǒng)自動生成的目錄名。至于注冊表中更是到處都是它的影子。

當我們?yōu)g覽網(wǎng)頁時,控件是如何下載并安裝到我們的計算機上的?為了弄清楚這個問題,先來看下面的一段網(wǎng)頁代碼。

<object id="safeSubmit1"classid="CLSID:8D9E0B29-563C-4226-86C1-5FF2AE77E1D2"codebase="/icbc/newperbank/AxSafeControls.cab#version=1,0,0,6"style="HEIGHT: 0px; WIDTH: 0px" VIEWASTEXT></object>

這段代碼是我行個人網(wǎng)銀登錄頁面中的一部分,object元素表示將向網(wǎng)頁文件中插入一個對象,classid屬性是該對象的類標識,它的值形如"CLSID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",表明這是一個ActiveX控件。codebase屬性是該控件的URL地址,它指向一個cab文件,這個文件是控件開發(fā)商打包發(fā)行的,里面是控件的執(zhí)行文件,有.dll文件、.ocx文件、.exe文件等,為了能夠自動安裝和注冊控件,一般還有INF文件來記錄相關的一些安裝信息。"1,0,0,6"是服務器上該控件的版本號。系統(tǒng)會根據(jù)classid先到注冊表中去查詢,查詢該控件的安裝及版本信息,查詢路徑是"HKEY_CLASSES_ROOT\CLSID\{8D9E0B29-563C-4226-86C1-5FF2AE77E1D2}\",如果鍵值不存在,則控件需要新安裝,如果鍵值存在但版本號小于服務器上的版本號,則會更新控件。

以上面的例子說明,當瀏覽器解析出object元素時,IE會按照以下流程進行處理:

  1. 通過URL鏈接下載必要的文件(.cab、.inf或者.exe);
  2. 執(zhí)行WinVerifyTrust函數(shù)對下載文件進行驗證,確保文件是安全的;
  3. 完成所有COM組件的自注冊,這是調(diào)用組件執(zhí)行文件中的DllRegisterServer函數(shù)來完成的;
  4. 向注冊表中添加注冊信息;
  5. 執(zhí)行函數(shù)CoGetClassObjectFromURL,返回類廠接口指針;
  6. 執(zhí)行函數(shù)CoCreateInstance,創(chuàng)建組件對象實例。

 

好了,到這里,一個組件實例就生成了。這個過程我寫得比較簡單,大家如果有興趣,可以看些軟件開發(fā)類的書籍,大多數(shù)人只要清楚大概的流程就行了。

控件安裝前的IE瀏覽器設置

為了能夠順利下載和安裝ActiveX控件,我們需要對IE瀏覽器做必要的設置,特別是安全級別,安全級太高,很多控件都不可能正常下載,即使下載了也無法安裝,安全級太低,又容易引起很多安全問題。那怎樣設置才合理呢,我的建議是添加信任站點,將一些銀行網(wǎng)站、支付寶等加入信任站點,然后將信任站點的安全級別設為"低",把控件的有關選項全部"啟用",而Internet域的安全級別可設置得高一點,這樣,我們就既可以有針對性的安裝需要的控件,又可以防止一些惡意控件帶來的安全問題。具體地設置步驟,大家可以參考這里。

控件的安裝

一般來說,只要IE設置正確,那么控件會自動下載并安裝,除非你的防火墻和殺毒軟件等對它進行了攔截,現(xiàn)在大多數(shù)的病毒和木馬是在我們?yōu)g覽網(wǎng)頁時下載和傳播的,殺毒軟件對控件防范還是很嚴密的,如果總是安裝不成功,可能得考慮將殺毒軟件和防火墻關閉了。關于瀏覽網(wǎng)頁時安裝控件的操作過程,大家可以參考一下在瀏覽網(wǎng)頁時如何安裝控件。

控件的注冊

對于應用軟件來說,一般都有一個安裝程序,在用戶執(zhí)行安裝程序時,ActiveX控件將自動在用戶機器上安裝并注冊。

對于IE來說,在安裝控件的時候,它也會自動地進行注冊。

對于從網(wǎng)上下載的一些控件,要想使用它們,得手工注冊后方可使用,還有一些控件,由于注冊信息遭到破壞,無法正常使用時,我們也需要手工注冊。這個過程可以通過執(zhí)行Regsvr32.exe文件來完成。

Regsvr32.exe位于\Windows\System目錄(Windows Me/Windows 98/Windows 95)或者\Windows\System32目錄(Windows NT/Windows XP/Windows Vista),是32位系統(tǒng)下使用的DLL注冊和反注冊工具,使用它必須通過命令行的方式使用。它的使用語法如下:

Regsvr32 [/u] [/n] [/i[:cmdline]] dllname/u - 反注冊DLL文件。/i - 調(diào)用DllInstall時將它傳遞到可選的[cmdline];在與/u共同使用時,它卸載DLL文件。/n - 不調(diào)用DllRegisterServer,它必須與/i連用。/s - 安靜模式,即在注冊/反注冊時不顯示結果提示框。(Windows XP和Windows Vista中加入)dllname - 指定要注冊的DLL文件名。

輸入DLL文件名時,如果是非系統(tǒng)文件,必須使用文件絕對路徑,文件路徑中不包含中文,否則很可能導致處理失敗。如果regsvr32不能正常執(zhí)行,很可能系統(tǒng)文件遭到破壞,因為使用regsvr32.exe時會調(diào)用Kernel32.dll、User32.dll和Ole32.dll三個文件,在DOS模式或其它系統(tǒng)替換正常文件即可解決。

控件的禁用

有時我們根據(jù)需要,不希望某些控件運行,這時我們就需要對相關控件進行禁用,禁用控件很簡單,可以在IE中設置,也可以直接在注冊表中設置。

在IE中禁用控件,打開Internet選項,單擊程序選項卡,單擊管理加載項,這里列出了IE中加載的所有控件,我們選中需要禁用的控件,選擇禁用就行了。

我們將網(wǎng)銀輸入控件禁用后,大家可以看一下結果。

除了在IE中設置外,我們也可以在注冊表中進行控件的禁用。打開注冊表編輯器,進入路徑"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\",下面已經(jīng)有一些控件了,我們可以試著增加一條,點擊Settings,新建一個項,就輸入"{73E4740C-08EB-4133-896B-8D0A7C9EE3CD}"吧,在該鍵值下,我們新建兩個值,一個是"Flags",類型是"DWORD",值為"1",一個是"Version",類型是"字符串",值為"*"。好了,大家再登錄一下網(wǎng)銀試試看。

有時我們一打開某個網(wǎng)頁,IE就提示"非法關閉",這很可能是因為該網(wǎng)頁加載的控件被破壞,這時,我們可以將已加載的控件逐個禁用,來找到出現(xiàn)問題的控件,然后將之刪除或者重新安裝,解決IE的故障。

控件的免疫

不知你有沒有遇到過這種事,無論你把控件安裝程序執(zhí)行多少遍,控件始終不起作用,網(wǎng)銀也用不了,這時很多人都會選擇重裝系統(tǒng)。其實,這個問題很好解決,原因也很簡單,控件可能被殺毒軟件給免疫了,我們只需要解除免疫,就可以解決這個問題??丶庖吆涂丶檬遣灰粯拥?,控件禁用后,我們還可以在IE瀏覽器中看到這個控件,并且可以啟用它,然而控件一旦被免疫,那么IE瀏覽器就對它完全視而不見,根本不會去理它。

不管控件是被禁用,還是被免疫,現(xiàn)象都是一樣的。

那么怎樣才能對控件實行免疫呢?方法跟控件禁用差不多,我們還是要先弄清楚目標控件的CLSID,這是一個GUID值,千萬不能搞錯了,最穩(wěn)妥的方法當然是咨詢控件開發(fā)商,可這不太現(xiàn)實,那我們只好自已找了,一般而言,我們可以通過搜索注冊表中HKEY_CLASSES_ROOT\CLSID路徑下的ProgID鍵值來確定控件的CLSID。有了這個值就好辦了,比如我們要免疫網(wǎng)銀輸入控件,打開注冊表編輯器,進入路徑"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility",在該鍵值下增加一項,輸入"{73E4740C-08EB-4133-896B-8D0A7C9EE3CD}",在該項下,我們新建一個DWORD類型的值,名字叫"Compatibility Flags",值為"0x00000400"(十進制為1024)。這樣,我們就將網(wǎng)銀輸入控件給免疫了。免疫后,只要不啟用IE中的"對未標記為安全的ActiveX控件初始化并執(zhí)行腳本"選項,IE就不會調(diào)用該控件。

將"Compatibility Flags"的值修改為"0",哈哈,該控件就解除免疫了。為了安全起見,除非你確實沒有辦法了,可以按照這個方法來分析解決控件安裝的問題,對于新手而言,最好還是使用相關工具。

控件的卸載和刪除

控件如果不再使用了,我們需要將其從系統(tǒng)中刪除,大家可以按照以下流程來完成刪除工作。

  1. 單擊開始,指向設置,單擊控制面板,雙擊添加或刪除程序,然后單擊更改或刪除程序選項卡。
  2. 如果要刪除的ActiveX控件出現(xiàn)在安裝的程序列表中,請單擊該控件,單擊更改/刪除,然后按照屏幕上的說明操作。如果ActiveX控件沒有出現(xiàn)在安裝的程序列表中,則繼續(xù)執(zhí)行下一步。

  3. 在資源管理器中,雙擊"Windows\Downloaded Program Files"文件夾或 "Winnt\Downloaded Program Files"文件夾,右鍵單擊想要刪除的ActiveX控件,然后單擊刪除
  4. 在系統(tǒng)提示是否刪除該控件后,單擊

 

如果你要嘗試刪除的ActiveX控件當前在內(nèi)存中由IE或"活動桌面"組件加載,會顯示"共享沖突"的錯誤信息,要解決此錯誤消息,可以按照下列步驟操作:

  1. 關閉所有打開的IE窗口。
  2. 禁用"活動桌面"。
  3. 重新啟動Windows。
  4. 按前文介紹的步驟刪除ActiveX控件。

 

控件的安全性

ActiveX控件盡管增加了我們上網(wǎng)沖浪時的樂趣,與此同時,它也給我們埋下了巨大的安全隱患,它是一種極其危險的提供功能的方法(目前正在被MS逐漸冷落),因為它是一種組建對象模型(COM)的對象,只要電腦的用戶可以完成的任務,它都可以完成。比如它可以存取注冊表,可以隨意訪問本地文件系統(tǒng)等等。一個網(wǎng)頁上面的控件一般有2種不安全的狀態(tài),一種是腳本的不安全,一種是初始化的不安全。當用戶將一個壓縮解壓縮空間指向一個遠程被壓縮的包含特洛伊木馬的系統(tǒng)文件并且需要控件來解壓縮這個文件時,系統(tǒng)安全會被打破。這個狀態(tài)就是初始化的不安全。從代碼的角度來講,如果控件從IPersist派生,也就是說控件實現(xiàn)了永久性,那么就會觸發(fā)unsafe for initializing。而在腳本程序安全執(zhí)行以前,一個控件依賴于特定的系統(tǒng)設置,那么在允許這段代碼運行之前控件的開發(fā)人員需要提供一些必要的代碼。這意味著如果控件從IDispatch派生,也就是說控件支持腳本,那么就會觸發(fā)unsafe for scripting。

從用戶下載一個ActiveX控件開始,這個控件就很容易被攻擊,因為網(wǎng)絡上任何網(wǎng)絡程序都可以使用它,無論是出于友好的目的還是惡意的目的。因此IE瀏覽器總是試圖彈出一個對話框來告訴你,這個控件可能是不安全的。這幾乎總是一個很好的預防網(wǎng)絡攻擊的好方法,但是對于那些我們認為總是安全的控件,我們?nèi)匀灰邮苓@種IE產(chǎn)生的干擾,這就使人厭煩了。為了解決這個問題,開發(fā)商可以采用軟件簽名技術。但代碼簽名證書價格不菲,不是一般人用得了的,同時,即使ActiveX控件具有有效的數(shù)字簽名,在計算機上安裝這些ActiveX控件時也應該謹慎。關于控件的安全性,涉及很多技術問題,這里就不多討論了,有興趣的朋友可以參考一下文章《為什么基于ActiveX的安全控件一定是不安全的》。


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[分享]IE安全選項的注冊表鍵值
拒絕彈窗騷擾 還您一個純凈的上網(wǎng)環(huán)境
IE瀏覽器防黑十大秘密
通過注冊表修改IE的Internet選項
小菜必看的七大Windows系統(tǒng)故障解析
九個防黑小技巧 讓IE從此變安全
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服