專利名稱:一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)、網(wǎng)絡(luò)通信領(lǐng)域中下載數(shù)據(jù)選擇的方法及裝置,尤其涉及一種能讓用戶在瀏覽Web頁(yè)的時(shí)候,有選擇地屏蔽ActiveX插件下載和安裝的方法及其裝置。
背景技術(shù):
ActiveX插件是微軟倡導(dǎo)的ActiveX網(wǎng)絡(luò)化多媒體對(duì)象技術(shù),它的出現(xiàn),使得Web的應(yīng)用更加靈活,拉近了Internet和本地桌面的距離。但是由于ActiveX插件本身是一個(gè)可執(zhí)行的程序,它也同樣存在安全的問題,一個(gè)ActiveX插件只要安裝到了本地機(jī)器,它就能做任何的事情,而它的安全性是通過ActiveX插件安全證書來保證的。ActiveX插件安全證書是由專門的機(jī)構(gòu)評(píng)估并頒發(fā)的證明該ActiveX插件是安全的證書,它和ActiveX插件一起打包分發(fā)。當(dāng)用戶瀏覽一個(gè)包含ActiveX插件的網(wǎng)頁(yè)時(shí),瀏覽器首先會(huì)檢查本地機(jī)器是否安裝有同樣的插件,如果沒有安裝,就會(huì)自動(dòng)先把它下載到本地,然后檢查安全證書的合法性,在這個(gè)過程中,瀏覽器會(huì)根據(jù)不同的安全策略,判定是否彈出“安全警告”的對(duì)話框,詢問用戶是否安裝。
由于ActiveX的廣泛應(yīng)用,給用戶帶來的方便,同時(shí)也帶來了麻煩。目前很多網(wǎng)頁(yè)都自帶ActiveX插件,用戶在上網(wǎng)瀏覽時(shí)經(jīng)常會(huì)彈出這些ActiveX插件的安裝詢問窗口,這在網(wǎng)絡(luò)速度一般的情況下,會(huì)造成網(wǎng)頁(yè)的阻滯,同時(shí)彈出的對(duì)話框也對(duì)用戶造成了不必要騷擾。而用戶對(duì)ActiveX插件的選擇要不只能忍受ActiveX下載時(shí)網(wǎng)頁(yè)的阻滯和安裝時(shí)彈出對(duì)話框的騷擾,要不只能提高安全級(jí)別,禁止所有的ActiveX的下載、安裝或運(yùn)行。因此,現(xiàn)有技術(shù)不能對(duì)ActiveX進(jìn)行選擇性的下載和安裝,用戶使用不方便。
現(xiàn)有技術(shù)的IE瀏覽器上述的處理流程如圖1所示的,網(wǎng)頁(yè)上預(yù)先設(shè)置有ActiveX插件,根據(jù)本地用戶的Internet安全策略是否允許插件的下載,如果允許,則進(jìn)行判斷本地是否已安裝該插件,如果否,則下載ActiveX插件到本地計(jì)算機(jī),然后根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則彈出對(duì)話框,由用戶確認(rèn)是否安裝,方才安裝。安裝完畢退出。
目前已有一些產(chǎn)品可以解決上述問題,比如3721的上網(wǎng)助手工具,就帶有了“自動(dòng)屏蔽ActiveX插件”的功能。它具體的技術(shù)實(shí)現(xiàn)原理如下前面的流程與IE瀏覽器的處理流程一致,一直到ActiveX插件被下載到本地后彈出“安全警告”的詢問窗口時(shí),上網(wǎng)助手工具自動(dòng)檢測(cè)到了對(duì)話框彈出的事件,并在這個(gè)時(shí)候,彈出另外一個(gè)詢問窗口,蓋住原有的“安全警告”窗口,詢問用戶是否要安裝這個(gè)ActiveX插件,用戶可以選擇“不安裝,以后再提示”、“以后也不要安裝”或者“安裝”。若用戶選擇安裝,回復(fù)原來“安全警告”窗口的顯示;若用戶選擇了“不安裝,以后再提示”,上網(wǎng)助手則會(huì)自動(dòng)關(guān)閉“安全警告”窗口,而下次再出現(xiàn)這個(gè)ActiveX插件安裝時(shí),重復(fù)上述的操作;若用戶選擇了“以后也不要安裝”,同樣會(huì)自動(dòng)關(guān)閉“安全警告”窗口,而下次再出現(xiàn)這個(gè)ActiveX插件安裝時(shí),上網(wǎng)助手就會(huì)自動(dòng)在不提示的情況下關(guān)閉“安全警告”窗口的顯示,等于自動(dòng)幫用戶不顯示這個(gè)窗口并選擇了否。用戶可以在一個(gè)屏蔽插件的列表中取消之前選擇屏蔽(不再提示)的插件,上述的流程如圖2所示。
上述現(xiàn)有技術(shù)只是屏蔽了“安全警告”對(duì)話框的彈出,而并沒有屏ActiveX插件的自動(dòng)下載,用戶遇到這種情況時(shí),雖然去除了彈出窗口的騷擾,但是還是會(huì)產(chǎn)生網(wǎng)頁(yè)的阻滯。另外,屏蔽了插件的“安全警告”對(duì)話框之后沒有對(duì)用戶進(jìn)行提示,用戶并不知道已經(jīng)屏蔽了一個(gè)ActiveX插件的下載,因此,當(dāng)用戶想重新安裝該插件時(shí)無從得知該插件被屏蔽的狀態(tài)而無法重新下載安裝。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法及其裝置,針對(duì)現(xiàn)有技術(shù)的缺陷,利用API Hook的技術(shù),進(jìn)行內(nèi)部接口的代理和調(diào)用,從而可以監(jiān)視和控制ActiveX插件的下載和安裝,在其下載前進(jìn)行攔截。
本發(fā)明的所提供的一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法,是通過一定制的IE瀏覽器之外的IBindStatusCallback接口實(shí)現(xiàn)的,包括以下步驟a)當(dāng)檢測(cè)到網(wǎng)頁(yè)上的ActiveX插件時(shí),由所述定制的IBindStatusCallback接口代理IE瀏覽器的IBindStatusCallback接口,實(shí)現(xiàn)代理IE控件的處理流程;b)判斷該ActiveX插件是否已被用戶屏蔽,如是,則顯示攔截信息并直接退出處理流程;c)否則,則彈出讓用戶進(jìn)行選擇下載操作的對(duì)話框,并根據(jù)用戶的不同選擇進(jìn)行處理。
其中,所述步驟a)是通過API Hook技術(shù)攔截IE內(nèi)部CoGetClassObjectFromUrl API的調(diào)用實(shí)現(xiàn)代理的。
所述步驟b)中所述已被用戶屏蔽是指被該ActiveX插件已被用戶選擇存儲(chǔ)于列表中。
所述步驟c)之前還包括步驟根據(jù)本地用戶的Internet安全策略判斷是否允許該ActiveX插件的下載;如果允許,則進(jìn)行判斷本地是否已安裝該插件,如果還沒有,則轉(zhuǎn)到步驟c)。其中,所述步驟c)包括c1)彈出提示用戶有一ActiveX插件將要下載的對(duì)話框,并給出用戶處理操作的選項(xiàng),所述處理操作的選項(xiàng)包括“安裝”、“不安裝,以后再提示”或“以后也不要安裝”;
c2)若接收到用戶選擇“安裝”的選項(xiàng)請(qǐng)求,則將該ActiveX插件下載到本地,然后執(zhí)行IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程;c3)若接收到用戶選擇“不安裝,以后再提示”或者“以后也不要安裝”的選項(xiàng)請(qǐng)求,則直接退出處理流程。
所述步驟c2)中所述的IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程包括根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則彈出對(duì)話框,由用戶確認(rèn)是否安裝,方才安裝;安裝完畢退出。
所述步驟c3)中若接收到“以后也不要安裝”則將該ActiveX插件存儲(chǔ)于列表中實(shí)現(xiàn)屏蔽。
所述步驟c)之前還可以包括IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程,其步驟包括根據(jù)本地用戶的Internet安全策略判斷是否允許該ActiveX插件的下載;如果允許,則進(jìn)行判斷本地是否已安裝該插件;如果還沒有,則下載該ActiveX插件到本地,并根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則IE瀏覽器控件彈出“安全警告”對(duì)話框詢問用戶是否安裝;如果用戶選擇了是,則安裝該ActiveX插件;如果用戶選擇了否的時(shí)候,則轉(zhuǎn)到步驟c)。
所述步驟c)包括彈出一對(duì)話框詢問用戶并由用戶選擇以后對(duì)這一ActiveX插件的處理策略,所述策略包括“以后不再下載”和“安裝、以后再提示”。若接收到用戶選擇“以后也不要安裝”則將該ActiveX插件存儲(chǔ)于列表中實(shí)現(xiàn)屏蔽。
本發(fā)明還提供一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)裝置,該裝置與IE瀏覽器控件連接并,其特征在于包括IbindStatusCallback代理模塊,用于代理所述IE瀏覽器的IBindStatusCallback接口;ActiveX插件下載監(jiān)視模塊,用于檢測(cè)網(wǎng)頁(yè)上的ActiveX插件,并將檢測(cè)結(jié)果通知所述IBindStatusCallback代理模塊;流程控制模塊,用于負(fù)責(zé)邏輯流程的控制;其中,所述流程控制模塊根據(jù)IBindStatusCallback代理模塊報(bào)告的ActiveX插件下載安裝過程變化的狀態(tài),返回相應(yīng)的控制代碼給IBindStatusCallback代理模塊去控制IE瀏覽器控件執(zhí)行下一步的流程。
其中,還包括與所述流程控制模塊相連的用戶交互模塊,用于與用戶交互、詢問用戶的選擇,并把用戶的選擇返回給流程控制模塊。
還包括與所述的流程控制模塊相連接的、用于存儲(chǔ)用戶選擇被屏蔽的ActiveX插件信息的屏蔽插件列表。
本發(fā)明所提供的一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法及其裝置,由于采用了內(nèi)部程序的API Hook技術(shù),通過接口代理和調(diào)用,實(shí)現(xiàn)了ActiveX下載前的監(jiān)控,減少了網(wǎng)頁(yè)瀏覽的阻滯,提高了瀏覽速度,并對(duì)被攔截的插件進(jìn)行提示,方便隨時(shí)取消攔截。
附圖中,圖1為現(xiàn)有技術(shù)的IE瀏覽器對(duì)ActiveX插件的攔截流程示意圖;圖2為現(xiàn)有技術(shù)的其他程序?qū)ctiveX插件攔截的流程示意圖;圖3為本發(fā)明的網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法一較佳實(shí)施例的處理流程圖;圖4為本發(fā)明的一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法的另一較佳實(shí)施例的流程示意圖;圖5為本發(fā)明的一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法的安裝原理圖;圖6所示為本發(fā)明的一種網(wǎng)頁(yè)插件選擇下載實(shí)現(xiàn)裝置的模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式
以下將詳細(xì)描述本發(fā)明的較佳實(shí)施例。本發(fā)明采用了API Hook技術(shù),也就是通過修改API導(dǎo)出函數(shù)入口達(dá)到監(jiān)視或修改默認(rèn)API行為的方法。本發(fā)明方法可以通過使用IE提供的SDK和內(nèi)核瀏覽器控件開發(fā)的瀏覽器實(shí)現(xiàn),以下就以使用IE內(nèi)核的瀏覽器來說明本發(fā)明方法具體實(shí)施方式
。
請(qǐng)一并參閱圖3和圖4,當(dāng)使用IE內(nèi)核的瀏覽器程序檢測(cè)到網(wǎng)頁(yè)上含有ActiveX插件時(shí),該瀏覽器使用API Hook的技術(shù)攔截了IE內(nèi)部CoGetClassObjectFromUrl API的調(diào)用,并使用自身的一個(gè)IBindStatusCallback接口代理了IE的IBindStatusCallback接口,然后再返回控制權(quán)給CoGetClassObjectFromUrl API,如圖3所示。這樣,所述的使用IE內(nèi)核的瀏覽器就可以通過自己的IBindStatusCallback接口來監(jiān)視和控制ActiveX插件下載和安裝過程了。所述使用IE內(nèi)核的瀏覽器的IBindStatusCallback接口與IE的IBindStatusCallback接口是完全一樣的,但由于該代理過程,就使IE控件內(nèi)部私有的不能控制的自動(dòng)處理流程,變成了可以控制的流程。
因此本發(fā)明在瀏覽器中加入了判斷用戶是否已經(jīng)選擇了不再安裝該ActiveX插件的步驟,使IE下載和安裝ActiveX插件的過程不再是自動(dòng)的,必須要執(zhí)行這個(gè)判斷步驟。若經(jīng)判斷用戶已經(jīng)選擇不再安裝該插件,則直接退出流程,不再下載該ActiveX插件;若經(jīng)過判斷用戶還沒有對(duì)其進(jìn)行選擇或者以前并沒有選擇不再安裝,則根據(jù)本地用戶的Internet安全策略判斷是否允許該ActiveX插件的下載,如果允許,則進(jìn)行判斷本地是否已安裝該插件,如果還沒有,則彈出對(duì)話框提示用戶有一個(gè)該ActiveX插件將要下載,詢問用戶是否“不安裝,以后再提示”、“以后也不要安裝”或者“安裝”,如果用戶選擇“安裝”,則將該ActiveX插件下載到本地,然后執(zhí)行IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程,即根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則彈出對(duì)話框,由用戶確認(rèn)是否安裝,方才安裝。安裝完畢退出。如果用戶選擇“不安裝,以后再提示”或者“以后也不要安裝”則直接退出處理流程;若用戶選擇了“以后碰到了再提示”,則下次出現(xiàn)這個(gè)ActiveX插件安裝,當(dāng)用戶選擇否時(shí),將重復(fù)上述判斷的操作;若用戶選擇了“以后也不要下載和安裝”,則下次出現(xiàn)這個(gè)ActiveX插件下載之前,就自動(dòng)屏蔽這個(gè)ActiveX插件的下載,并在瀏覽器的狀態(tài)欄中閃爍一個(gè)圖標(biāo)提示用戶已攔截了一個(gè)ActiveX插件,用戶點(diǎn)擊該圖標(biāo)可以查看被屏蔽插件的信息。
本發(fā)明還有另一具體實(shí)施方式
,請(qǐng)一并參閱圖3和圖5,仍然是當(dāng)使用IE內(nèi)核的瀏覽器程序檢測(cè)到網(wǎng)頁(yè)上含有ActiveX插件時(shí),該瀏覽器使用API Hook的技術(shù)攔截了IE內(nèi)部CoGetClassObjectFromUrl API的調(diào)用,并使用自身的一個(gè)IBindStatusCallback接口代理了IE的IBindStatusCallback接口,然后再返回控制權(quán)給CoGetClassObjectFromUrl API。再判斷用戶是否已經(jīng)選擇了不再安裝該ActiveX插件,若經(jīng)判斷用戶已經(jīng)選擇不再安裝該插件,則直接退出流程,不再下載該ActiveX插件;若經(jīng)過判斷用戶還沒有對(duì)其進(jìn)行選擇或者以前并沒有選擇不再安裝,則根據(jù)本地用戶的Internet安全策略判斷是否允許該ActiveX插件的下載,如果允許,則進(jìn)行判斷本地是否已安裝該插件,如果還沒有,則下載該ActiveX插件到本地,并根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則IE瀏覽器控件彈出“安全警告”對(duì)話框詢問用戶是否安裝,用戶選擇了否的時(shí)候,將彈出一個(gè)對(duì)話框,詢問用戶以后是否還要下載和提示安裝這個(gè)ActiveX插件,用戶可以選擇“以后碰到了再提示”、“以后也不要下載和安裝”;若用戶選擇了“以后碰到了再提示”,則下次出現(xiàn)這個(gè)ActiveX插件安裝,當(dāng)用戶選擇否時(shí),將重復(fù)上述判斷的操作;若用戶選擇了“以后也不要下載和安裝”,則下次出現(xiàn)這個(gè)ActiveX插件下載之前,就自動(dòng)屏蔽這個(gè)ActiveX插件的下載,并在瀏覽器的狀態(tài)欄中閃爍一個(gè)圖標(biāo)提示用戶已攔截了一個(gè)ActiveX插件,用戶點(diǎn)擊該圖標(biāo)可以查看被屏蔽插件的信息。
對(duì)比圖4所示的流程,可以看出,該具體實(shí)施方式
與前述具體實(shí)施方式
的不同之處在于彈出詢問用戶選擇是否“不安裝,以后再提示”、“以后也不要安裝”或者“安裝”的對(duì)話框在流程中的位置不同。因此,本發(fā)明的一個(gè)重要特征就在于當(dāng)瀏覽器使用自身的一個(gè)IBindStatusCallback接口代理了IE的IBindStatusCallback接口后,就使IE控件內(nèi)部私有的不能控制的自動(dòng)處理流程,變成了可以控制的流程,并可以對(duì)其以后的流程進(jìn)行任意的定制。
該使用IE內(nèi)核的瀏覽器還維護(hù)著一個(gè)需要屏蔽的插件的列表,當(dāng)將要下載的ActiveX插件是用戶之前選擇了“以后也不要再下載和安裝”的插件時(shí),TT就通過這個(gè)接口立即停止該ActiveX插件的下載,并從中獲得ActiveX插件的相關(guān)信息,提示用戶屏蔽了哪個(gè)插件。
這樣用戶可以輕松屏蔽自己不想再下載和安裝的ActiveX插件,屏蔽后既不會(huì)有頁(yè)面的阻滯也不會(huì)有煩人的“安全警告”對(duì)話框騷擾,同時(shí)用戶又可以收到已經(jīng)屏蔽了ActiveX插件的小提示,用戶可以在需要的時(shí)候查看它的信息,或者恢復(fù)它的下載和安裝。
本發(fā)明所述的網(wǎng)頁(yè)插件選擇下載的方法還可以通過如圖6所示的ActiveX插件下載安裝輔助工具來實(shí)現(xiàn),該實(shí)現(xiàn)裝置包括ActiveX插件下載監(jiān)視模塊、與ActiveX插件下載監(jiān)視模塊連接的IBindStatusCallback代理模塊、與IBindStatusCallback代理模塊相互連接的流程控制模塊、及與流程控制模塊連接的用戶交互模塊和屏蔽插件列表。
其中,所述的ActiveX插件下載監(jiān)視模塊,用于通過IE的瀏覽器控件監(jiān)視網(wǎng)頁(yè)的ActiveX插件,一旦監(jiān)視到網(wǎng)頁(yè)具有ActiveX插件,就通知IBindStatusCallback代理模塊。所述IBindStatusCallback代理模塊接收到監(jiān)視模塊的通知后,使用API Hook的技術(shù)攔截了IE內(nèi)部CoGetClassObjectFromUrl API的調(diào)用,并使用自身的一個(gè)IBindStatusCallback接口代理了IE的IBindStatusCallback接口,然后再返回控制權(quán)給CoGetClassObjectFromUrl API,如圖3所示,從而得到ActiveX插件下載安裝過程的控制權(quán);每當(dāng)ActiveX插件下載安裝過程發(fā)生變化,IBindStatusCallback代理模塊都先將該狀態(tài)報(bào)告給流程控制模塊,流程控制模塊處理后返回控制代碼給IBindStatusCallback代理模塊,IBindStatusCallback代理模塊根據(jù)控制代碼來決定ActiveX插件下載安裝的下一步流程,代理結(jié)束后返回控制權(quán)給IE瀏覽器控件。所述流程控制模塊負(fù)責(zé)邏輯流程的控制,它根據(jù)IBindStatusCallback代理模塊報(bào)告的狀態(tài),通過讀寫屏蔽插件列表、調(diào)用用戶交互模塊詢問用戶等方式來決定下一步應(yīng)該如何控制ActiveX插件下載安裝的流程,同時(shí)返回相應(yīng)的控制代碼給IBindStatusCallback代理模塊去控制該流程。用戶交互模塊負(fù)責(zé)于用戶交互,詢問用戶的選擇,并把用戶的選擇返回給流程控制模塊。所述的屏蔽插件列表用于存儲(chǔ)需要被屏蔽的ActiveX插件信息,流程控制模塊維護(hù)著這個(gè)列表,如果用戶交互模塊接收到的用戶的選擇為“以后也不再安裝”或者其他屏蔽信息,則所述的流程控制模塊則將該ActiveX插件的信息存儲(chǔ)于屏蔽插件列表中。
應(yīng)當(dāng)理解的是,本發(fā)明的上述實(shí)施例描述過于具體,并不能因此而做為本發(fā)明的權(quán)利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法,是通過一定制的IE瀏覽器之外的IBindStatusCallback接口實(shí)現(xiàn)的,包括以下步驟a)當(dāng)檢測(cè)到網(wǎng)頁(yè)上的ActiveX插件時(shí),由所述定制的IBindStatusCallback接口代理IE瀏覽器的IBindStatusCallback接口,實(shí)現(xiàn)代理IE控件的處理流程;b)判斷該ActiveX插件是否已被用戶屏蔽,如是,則顯示攔截信息并直接退出處理流程;c)否則,則彈出讓用戶進(jìn)行選擇下載操作的對(duì)話框,并根據(jù)用戶的不同選擇進(jìn)行處理。
2.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)方法,其特征在于所述步驟a)是通過API Hook技術(shù)攔截IE內(nèi)部CoGetClassObjectFromUrl API的調(diào)用實(shí)現(xiàn)代理的。
3.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟b)中所述已被用戶屏蔽是指被該ActiveX插件已被用戶選擇存儲(chǔ)于列表中。
4.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟c)之前還包括步驟根據(jù)本地用戶的Internet安全策略判斷是否允許該ActiveX插件的下載;如果允許,則進(jìn)行判斷本地是否已安裝該插件,如果還沒有,則轉(zhuǎn)到步驟c)。
5.根據(jù)權(quán)利要求4所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟c)包括c1)彈出提示用戶有一ActiveX插件將要下載的對(duì)話框,并給出用戶處理操作的選項(xiàng),所述處理操作的選項(xiàng)包括“安裝”、“不安裝,以后再提示”或“以后也不要安裝”;c2)若接收到用戶選擇“安裝”的選項(xiàng)請(qǐng)求,則將該ActiveX插件下載到本地,然后執(zhí)行IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程;c3)若接收到用戶選擇“不安裝,以后再提示”或者“以后也不要安裝”的選項(xiàng)請(qǐng)求,則直接退出處理流程。
6.根據(jù)權(quán)利要求5所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟c2)中所述的IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程包括根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則彈出對(duì)話框,由用戶確認(rèn)是否安裝,方才安裝;安裝完畢退出。
7.根據(jù)權(quán)利要求5所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟c3)中若接收到“以后也不要安裝”則將該ActiveX插件存儲(chǔ)于列表中實(shí)現(xiàn)屏蔽。
8.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟c)之前還包括IE瀏覽器下載安裝ActiveX插件的標(biāo)準(zhǔn)流程,其步驟包括根據(jù)本地用戶的Internet安全策略判斷是否允許該ActiveX插件的下載;如果允許,則進(jìn)行判斷本地是否已安裝該插件;如果還沒有,則下載該ActiveX插件到本地,并根據(jù)其Internet安全策略決定是否彈出確認(rèn)安裝的對(duì)話框,如果無需彈出,則直接進(jìn)行安裝即可;如果是,則IE瀏覽器控件彈出“安全警告”對(duì)話框詢問用戶是否安裝;如果用戶選擇了是,則安裝該ActiveX插件;如果用戶選擇了否的時(shí)候,則轉(zhuǎn)到步驟c)。
9.根據(jù)權(quán)利要求8所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于所述步驟c)包括彈出一對(duì)話框詢問用戶并由用戶選擇以后對(duì)這一ActiveX插件的處理策略,所述策略包括“以后不再下載”和“安裝、以后再提示”。
10.根據(jù)權(quán)利要求9所述的網(wǎng)頁(yè)插件選擇下載的方法,其特征在于若接收到用戶選擇“以后也不要安裝”則將該ActiveX插件存儲(chǔ)于列表中實(shí)現(xiàn)屏蔽。
11.一種網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)裝置,該裝置與IE瀏覽器控件連接并,其特征在于包括IbindStatusCallback代理模塊,用于代理所述IE瀏覽器的IBindStatusCallback接口;ActiveX插件下載監(jiān)視模塊,用于檢測(cè)網(wǎng)頁(yè)上的ActiveX插件,并將檢測(cè)結(jié)果通知所述IBindStatusCallback代理模塊;流程控制模塊,用于負(fù)責(zé)邏輯流程的控制;其中,所述流程控制模塊根據(jù)IBindStatusCallback代理模塊報(bào)告的ActiveX插件下載安裝過程變化的狀態(tài),返回相應(yīng)的控制代碼給IBindStatusCallback代理模塊去控制IE瀏覽器控件執(zhí)行下一步的流程。
12.根據(jù)權(quán)利要求11所述的網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)裝置,其特征在于還包括與所述流程控制模塊相連的用戶交互模塊,用于與用戶交互、詢問用戶的選擇,并把用戶的選擇返回給流程控制模塊。
13.根據(jù)權(quán)利要求11、12所述的網(wǎng)頁(yè)插件選擇下載的實(shí)現(xiàn)裝置,其特征在于還包括與所述的流程控制模塊相連接的、用于存儲(chǔ)用戶選擇被屏蔽的ActiveX插件信息的屏蔽插件列表。
全文摘要
本發(fā)明的一種網(wǎng)頁(yè)插件選擇下載的方法及其裝置,包括以下步驟當(dāng)檢測(cè)到網(wǎng)頁(yè)上的ActiveX插件時(shí),通過API Hook技術(shù)攔截IE內(nèi)部CoGetClassObjectFromUrl API的調(diào)用,由所述定制的IBindStatusCallback接口代理IE瀏覽器的IBindStatus Callback接口,實(shí)現(xiàn)代理IE控件的處理流程;判斷該ActiveX插件是否已被用戶屏蔽,如是,則顯示攔截信息并直接退出處理流程;否則,則彈出讓用戶進(jìn)行選擇下載操作的對(duì)話框,并根據(jù)用戶的不同選擇進(jìn)行處理;所述用戶可以選擇的類型包括以后不再下載和安裝;暫時(shí)不安裝,以后再提示;立即安裝。本發(fā)明方法實(shí)現(xiàn)了ActiveX下載前的監(jiān)控,減少了網(wǎng)頁(yè)瀏覽的阻滯,提高了瀏覽速度,并對(duì)被攔截的插件進(jìn)行提示,方便隨時(shí)取消攔截。
文檔編號(hào)H04L12/00GK1713573SQ200410027798
公開日2005年12月28日 申請(qǐng)日期2004年6月22日 優(yōu)先權(quán)日2004年6月22日
發(fā)明者陳泱, 林峰, 王凡 申請(qǐng)人:騰訊科技(深圳)有限公司