欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種瀏覽網(wǎng)頁(yè)的方法及裝置制造方法

文檔序號(hào):6547992閱讀:140來(lái)源:國(guó)知局
一種瀏覽網(wǎng)頁(yè)的方法及裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種瀏覽網(wǎng)頁(yè)的方法及裝置,其中,所述方法包括:當(dāng)頁(yè)面線程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件/控件進(jìn)程;將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行;通過(guò)實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽;其中,所述頁(yè)面進(jìn)程運(yùn)行于沙箱外。通過(guò)本發(fā)明,能夠在確保上網(wǎng)瀏覽安全性問(wèn)題的同時(shí),提高瀏覽器運(yùn)行的穩(wěn)定性。
【專利說(shuō)明】一種瀏覽網(wǎng)頁(yè)的方法及裝置
[0001]本發(fā)明專利申請(qǐng)是申請(qǐng)日為2011年12月28日、申請(qǐng)?zhí)枮?01110448359.1、名稱為“一種瀏覽網(wǎng)頁(yè)的方法及裝置”的中國(guó)發(fā)明專利申請(qǐng)的分案申請(qǐng)。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及瀏覽器安全【技術(shù)領(lǐng)域】,特別是涉及一種瀏覽網(wǎng)頁(yè)的方法及裝置。
【背景技術(shù)】
[0003]隨著時(shí)代的進(jìn)步,互聯(lián)網(wǎng)已經(jīng)成為人們生活的重要組成部分,而Web瀏覽器也理所應(yīng)當(dāng)?shù)爻蔀橛?jì)算機(jī)等設(shè)備中最為重要的軟件之一。瀏覽器提供了 BHO(Bix)wser HelperObject)、AxtiveX控件、工具欄組件接口,可以以插件/控件的形式定制、完善瀏覽器功能。
[0004]但是,隨著Web瀏覽器重要性的日益突出,惡意軟件、木馬、間諜軟件等網(wǎng)絡(luò)攻擊也呈現(xiàn)逐漸的上升,尤其是瀏覽器插件,由于插件/控件程序由不同的發(fā)行商發(fā)行,其技術(shù)水平也良莠不齊,經(jīng)常存在安全漏洞,因此容易會(huì)成為木馬、病毒的重點(diǎn)攻擊目標(biāo)。
[0005]例如,研究發(fā)現(xiàn):AdobeFlash、Windows Media Player、Realplayer 等常用插件都極易受到攻擊。利用瀏覽器插件的安全漏洞,病毒能夠獲取用戶的系統(tǒng)權(quán)限,向用戶的計(jì)算機(jī)下載、安裝、運(yùn)行惡意代碼,竊取用戶的個(gè)人信息(如網(wǎng)上銀行信息、電子郵件、游戲密碼)等等,對(duì)用戶的系統(tǒng)安全造成嚴(yán)重的影響。
[0006]此外,也有部分插件本身就是惡意插件,例如廣告軟件(Adware)或間諜軟件(Spyware)等。此類惡意插件程序可以監(jiān)視用戶的上網(wǎng)行為,并把所記錄的數(shù)據(jù)報(bào)告給插件程序的創(chuàng)建者,以達(dá)到投放廣告、盜取游戲或銀行帳號(hào)密碼等非法目的。
[0007]為了提高用戶上網(wǎng)時(shí)的安全性,通??梢詫g覽器技術(shù)與沙箱技術(shù)相結(jié)合。沙箱是一個(gè)虛擬系統(tǒng)程序,通過(guò)虛擬化的磁盤、內(nèi)存以及網(wǎng)絡(luò)資源,提供了一種程序的隔離運(yùn)行機(jī)制。在沙箱中運(yùn)行的程序,創(chuàng)建、修改、刪除的所有文件和注冊(cè)表內(nèi)容都會(huì)被虛擬化重定向,確保程序無(wú)法對(duì)系統(tǒng)關(guān)鍵部位進(jìn)行改動(dòng),破壞系統(tǒng)的真實(shí)環(huán)境。
[0008]現(xiàn)有技術(shù)中,通常是直接將瀏覽器進(jìn)程放入到沙箱中運(yùn)行,這樣可以從一定程度上確保用戶上網(wǎng)時(shí)的安全性。但是,由于插件/控件設(shè)計(jì)水平上的限制,在運(yùn)行時(shí),經(jīng)常會(huì)出現(xiàn)插件/控件的卡死、崩潰等不穩(wěn)定現(xiàn)象,進(jìn)而也導(dǎo)致整個(gè)頁(yè)面進(jìn)程也隨之失去響應(yīng),影響瀏覽器的穩(wěn)定性。
[0009]因此,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問(wèn)題就在于,如何在確保上網(wǎng)瀏覽安全性問(wèn)題的同時(shí),提高瀏覽器運(yùn)行的穩(wěn)定性。

【發(fā)明內(nèi)容】

[0010]本發(fā)明提供了一種瀏覽網(wǎng)頁(yè)的方法及裝置,能夠在確保上網(wǎng)瀏覽安全性問(wèn)題的同時(shí),提高瀏覽器運(yùn)行的穩(wěn)定性。
[0011]本發(fā)明提供了如下方案:
[0012]一種瀏覽網(wǎng)頁(yè)的方法,包括:[0013]當(dāng)頁(yè)面線程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件/控件進(jìn)程;
[0014]將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行;
[0015]通過(guò)實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽;其中,所述頁(yè)面進(jìn)程運(yùn)行于沙箱外。
[0016]其中,所述實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信包括:
[0017]在所述獨(dú)立的插件/控件進(jìn)程中創(chuàng)建主窗口對(duì)象及瀏覽器宿主對(duì)象,將所述瀏覽器宿主對(duì)象連接到所述主窗口對(duì)象上,以便所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送消息。
[0018]其中,所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送消息包括:
[0019]所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送鼠標(biāo)、鍵盤響應(yīng)事件消
肩、O
[0020]其中,所述實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信包括:
[0021]當(dāng)沙箱內(nèi)的插件/控件進(jìn)程需要向沙箱外發(fā)出指令時(shí),判斷該指令是否為向所述插件/控件進(jìn)程發(fā)出的,并且屬于預(yù)置的通訊指令集,如果是,則將該指令放行,以便所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程進(jìn)行發(fā)送消息。
[0022]其中,所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程進(jìn)行發(fā)送消息包括:
[0023]當(dāng)所述插件/控件進(jìn)程有腳本需要調(diào)用時(shí),將所述腳本轉(zhuǎn)發(fā)到創(chuàng)建該插件進(jìn)程的頁(yè)面進(jìn)程中;
[0024]或者,
[0025]當(dāng)所述插件/控件進(jìn)程產(chǎn)生繪制事件時(shí),將所述繪制事件對(duì)應(yīng)的數(shù)據(jù)發(fā)送給對(duì)應(yīng)的頁(yè)面進(jìn)程。
[0026]一種瀏覽網(wǎng)頁(yè)的裝置,包括:
[0027]獨(dú)立進(jìn)程創(chuàng)建單元,用于當(dāng)頁(yè)面線程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件進(jìn)程;
[0028]沙箱驅(qū)動(dòng)單元,用于將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行;
[0029]進(jìn)程間通信單元,用于通過(guò)實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽。
[0030]其中,所述進(jìn)程間通信單元包括:
[0031]第一通信子單元,用于在所述獨(dú)立的插件/控件進(jìn)程中創(chuàng)建主窗口對(duì)象及瀏覽器宿主對(duì)象,將所述瀏覽器宿主對(duì)象連接到所述主窗口對(duì)象上,以便所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送消息。
[0032]其中,所述第一通信子單元具體用于:
[0033]所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送鼠標(biāo)、鍵盤響應(yīng)事件消
肩、O
[0034]其中,所述進(jìn)程間通信單元包括:
[0035]第二通信子單元,用于當(dāng)沙箱內(nèi)的插件/控件進(jìn)程需要向沙箱外發(fā)出指令時(shí),判斷該指令是否為向所述插件/控件進(jìn)程發(fā)出的,并且屬于預(yù)置的通訊指令集,如果是,則將該指令放行,以便所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程進(jìn)行發(fā)送消息。[0036]其中,所述第二通信子單元具體用于:
[0037]當(dāng)所述插件/控件進(jìn)程有腳本需要調(diào)用時(shí),將所述腳本轉(zhuǎn)發(fā)到創(chuàng)建該插件/控件進(jìn)程的頁(yè)面進(jìn)程中;
[0038]或者,
[0039]當(dāng)所述插件/控件進(jìn)程產(chǎn)生繪制事件時(shí),將所述繪制事件對(duì)應(yīng)的數(shù)據(jù)發(fā)送給對(duì)應(yīng)的頁(yè)面進(jìn)程。
[0040]根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開(kāi)了以下技術(shù)效果:
[0041 ] 通過(guò)本發(fā)明,由于將插件/控件從瀏覽器頁(yè)面進(jìn)程中獨(dú)立出來(lái),并且將插件/控件進(jìn)程實(shí)時(shí)放入到沙箱中運(yùn)行,因此,能夠在保證用戶上網(wǎng)安全性的同時(shí),避免由于插件/控件的卡死或崩潰等現(xiàn)象引起瀏覽器頁(yè)面失去響應(yīng)的現(xiàn)象,進(jìn)而提高瀏覽器運(yùn)行的穩(wěn)定性。
【專利附圖】

【附圖說(shuō)明】
[0042]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0043]圖1是本發(fā)明實(shí)施例提供的方法的流程圖;
[0044]圖2是本發(fā)明實(shí)施例提供的裝置的示意圖。
【具體實(shí)施方式】
[0045]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046]首先需要說(shuō)明的是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),在傳統(tǒng)的實(shí)現(xiàn)方式下,插件/控件和頁(yè)面在同一個(gè)進(jìn)程中,當(dāng)有惡意程序或者插件,通過(guò)BHO、AxtiveX控件、工具欄組件等方式,在瀏覽器進(jìn)程過(guò)程中加載時(shí),這樣的對(duì)象會(huì)在與瀏覽器相同的上下文中運(yùn)行,并能對(duì)可用的窗口和模塊執(zhí)行任何行動(dòng)。例如,一個(gè)BHO能夠探測(cè)到典型的事件,如GoBack、GoForward、DocumentComplete等,另外BHO能夠存取瀏覽器的菜單與工具欄并能做出修改,還能夠產(chǎn)生新窗口來(lái)顯示當(dāng)前網(wǎng)頁(yè)的一些額外信息,還能夠安裝鉤子以監(jiān)控一些消息和動(dòng)作,從而可能會(huì)對(duì)用戶的系統(tǒng)帶來(lái)安全隱患。另一方面,也正是由于插件/控件和頁(yè)面在同一進(jìn)程中,因此,當(dāng)插件/控件出現(xiàn)卡死、崩潰等不穩(wěn)當(dāng)情況時(shí),就會(huì)導(dǎo)致整個(gè)頁(yè)面進(jìn)程失去響應(yīng),影響瀏覽器的穩(wěn)定性。
[0047]基于上述分析,本發(fā)明實(shí)施例試圖提供一種新的瀏覽網(wǎng)頁(yè)的方法,通過(guò)該方法來(lái)達(dá)到確保上網(wǎng)瀏覽安全性問(wèn)題的同時(shí),提高瀏覽器運(yùn)行的穩(wěn)定性的目的。
[0048]參見(jiàn)圖1,本發(fā)明實(shí)施例提供的瀏覽網(wǎng)頁(yè)的方法可以包括以下步驟:
[0049]SlOl:當(dāng)頁(yè)面線程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件進(jìn)程;
[0050]一般而言,如果一個(gè)頁(yè)面中存在插件,則在該頁(yè)面加載的過(guò)程中,頁(yè)面進(jìn)程會(huì)創(chuàng)建插件/控件對(duì)象,在傳統(tǒng)的方式下,就會(huì)直接在頁(yè)面進(jìn)程中創(chuàng)建插件/控件對(duì)象,而在本發(fā)明實(shí)施例中,在頁(yè)面進(jìn)程創(chuàng)建插件/控件對(duì)象時(shí),可以為該插件/控件對(duì)象創(chuàng)建獨(dú)立于頁(yè)面進(jìn)程的插件/控件進(jìn)程。也即,使得插件/控件與頁(yè)面在不同的進(jìn)程中,這樣,如果插件發(fā)生了卡死或者崩潰等現(xiàn)象,由于不會(huì)對(duì)其他進(jìn)程的運(yùn)行造成影響,因此,也就不會(huì)使得頁(yè)面發(fā)生隨之失去響應(yīng)的現(xiàn)象,避免使瀏覽器的穩(wěn)定性受到影響。
[0051]S102:將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行;
[0052]由于插件/控件被木馬、病毒攻擊的可能性比較大,因此,在本發(fā)明實(shí)施例中,將為插件/控件對(duì)象創(chuàng)建的獨(dú)立進(jìn)程放入到沙箱中運(yùn)行,這樣,可以避免由于插件/控件而給用戶的系統(tǒng)安全造成威脅。
[0053]S103:通過(guò)實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽;其中,所述頁(yè)面進(jìn)程運(yùn)行于沙箱外。
[0054]插件/控件作為對(duì)瀏覽器功能的補(bǔ)充或完善,在實(shí)現(xiàn)一些瀏覽器功能時(shí),需要頁(yè)面與插件/控件相互配合來(lái)完成。而在本發(fā)明實(shí)施例中,由于頁(yè)面和插件/控件在不同的進(jìn)程中,因此,還要使得頁(yè)面與插件/控件之間能夠進(jìn)行必要的信息交互,這樣才能保證瀏覽器功能的實(shí)現(xiàn)。這里所謂的信息交互包括兩種情況,一種情況是頁(yè)面進(jìn)程需要發(fā)送消息給插件/控件進(jìn)程,另一種情況就是插件/控件進(jìn)程需要發(fā)送消息給頁(yè)面進(jìn)程。
[0055]為了使得頁(yè)面進(jìn)程能夠發(fā)送消息給插件/控件進(jìn)程,在將插件從瀏覽器頁(yè)面進(jìn)程中獨(dú)立出來(lái),并將插件/控件進(jìn)程放入到沙箱中的同時(shí),還需要在獨(dú)立的插件/控件進(jìn)程中創(chuàng)建主窗口對(duì)象及瀏覽器宿主對(duì)象,并將瀏覽器宿主對(duì)象連接到主窗口對(duì)象上。由于操作系統(tǒng)中的消息交互是基于窗口進(jìn)行的,當(dāng)在插件/控件進(jìn)程中創(chuàng)建了主窗口對(duì)象并連接到瀏覽器宿主對(duì)象之后,當(dāng)頁(yè)面需要向插件/控件發(fā)送消息時(shí),就可以向該插件/控件的主窗口發(fā)送,這樣,插件/控件進(jìn)程就可以通過(guò)該主窗口接收頁(yè)面進(jìn)程發(fā)送的消息。
[0056]具體實(shí)現(xiàn)的過(guò)程中,頁(yè)面進(jìn)程在多種情況下都可能會(huì)向插件/控件進(jìn)程發(fā)送消息。例如,可以由瀏覽器頁(yè)面進(jìn)程接管插件/控件進(jìn)程中的鼠標(biāo)、鍵盤等響應(yīng)事件,并通過(guò)消息轉(zhuǎn)發(fā)機(jī)制通知給沙箱內(nèi)的插件進(jìn)程,再由插件/控件進(jìn)程執(zhí)行相應(yīng)的操作。這些鼠標(biāo)、鍵盤響應(yīng)事件具體可以包括:當(dāng)頁(yè)面進(jìn)程對(duì)象改變窗口大小、頁(yè)面刷新等事件時(shí),頁(yè)面進(jìn)程可以通知插件/控件進(jìn)程對(duì)象調(diào)整插件的大小、位置,等等?;蛘?,當(dāng)頁(yè)面關(guān)閉或者瀏覽器退出時(shí),還可以通知插件/控件進(jìn)程,完成插件/控件對(duì)象的釋放和銷毀等操作,等等。
[0057]而為了使得插件/控件進(jìn)程能夠發(fā)送消息給頁(yè)面進(jìn)程,由于頁(yè)面進(jìn)程自身存在窗口對(duì)象,因此不必再為頁(yè)面進(jìn)程創(chuàng)建窗口對(duì)象,但是在本發(fā)明實(shí)施例中,由于插件/控件進(jìn)程在沙箱內(nèi),而瀏覽器頁(yè)面進(jìn)程在沙箱外,此時(shí),如果插件/控件進(jìn)程需要在沙箱內(nèi)與沙箱外的瀏覽器頁(yè)面進(jìn)程進(jìn)行進(jìn)程間通訊時(shí),由于沙箱的安全性限制,插件/控件進(jìn)程向沙箱外的操作指令會(huì)被沙箱虛擬環(huán)境屏蔽,因此,需要沙箱做特殊處理,放過(guò)插件/控件進(jìn)程必要的指令到沙箱外,以通知外部的瀏覽器頁(yè)面進(jìn)程,同時(shí),外部的瀏覽器頁(yè)面進(jìn)程也可以把一些用戶操作的指令(例如用戶點(diǎn)擊了某鏈接,或者點(diǎn)擊“停止”、“播放”按鈕等等)通知給沙箱內(nèi)的插件/控件進(jìn)程執(zhí)行相應(yīng)的處理工作。
[0058]當(dāng)然,為了確保安全性,并不能讓插件/控件進(jìn)程發(fā)出的所有消息都能發(fā)送到沙箱外,為此,可以預(yù)先定義必要的指令集,沙箱放過(guò)內(nèi)部插件/控件進(jìn)程向外發(fā)出的這些指令集,從而保證瀏覽器的正常運(yùn)行。換言之,為了保證瀏覽器能夠正常運(yùn)行,沙箱可以允許一些指令發(fā)出到沙箱外,但是前提有兩點(diǎn):第一,該指令是由插件/控件進(jìn)程發(fā)出的,第二,該指令屬于預(yù)先定義的通訊指令集,只有當(dāng)這兩個(gè)條件同時(shí)滿足時(shí),才能放行,以保證系統(tǒng)的安全性。當(dāng)然,在上述的具體實(shí)現(xiàn)時(shí),除了上述定義通信指令集的方式之外,還可以通過(guò)其他方式實(shí)現(xiàn),例如,可以通過(guò)管道機(jī)制來(lái)實(shí)現(xiàn),等等,這里不再贅述。
[0059]在具體實(shí)現(xiàn)時(shí),這些可以從沙箱內(nèi)放過(guò)的指令可以包括多種情況。例如,由于頁(yè)面與插件/控件具有對(duì)應(yīng)性,因此為了保證運(yùn)行中的正確性,如果獨(dú)立進(jìn)程中的插件需要執(zhí)行某事件,則需要將對(duì)應(yīng)的腳本放入到創(chuàng)建該插件/控件進(jìn)程的頁(yè)面線程中區(qū),在該頁(yè)面線程中運(yùn)行該腳本。為此,插件/控件進(jìn)程還可以維護(hù)一份插件/控件主窗口與頁(yè)面線程之間的映射關(guān)系,用來(lái)保證頁(yè)面線程與插件/控件線程的一一對(duì)應(yīng)。當(dāng)插件/控件進(jìn)程中需要運(yùn)行某腳本時(shí),就可以通過(guò)該映射關(guān)系找到對(duì)應(yīng)的頁(yè)面線程,并將該腳本放入到該頁(yè)面線程中運(yùn)行。顯然,當(dāng)插件/控件進(jìn)程發(fā)出的消息時(shí)這種消息時(shí),就應(yīng)該將該消息放過(guò),也即允許將該消息發(fā)出到處于沙箱外的頁(yè)面線程,可以將這種消息寫入到通訊指令集中。
[0060]此外,由于插件/控件進(jìn)程是在沙箱內(nèi)運(yùn)行的,因此,為了使得插件/控件進(jìn)程涉及到的與界面相關(guān)的內(nèi)容能夠展現(xiàn)給用戶,還需要插件/控件進(jìn)程將界面相關(guān)的內(nèi)容、顯示的位置、大小等數(shù)據(jù)發(fā)送給對(duì)應(yīng)的瀏覽器頁(yè)面進(jìn)程,由瀏覽器頁(yè)面進(jìn)程繪制界面顯示結(jié)果(具體的,頁(yè)面進(jìn)程可以調(diào)用插件/控件進(jìn)程的IViewObject::Draw方法,完成插件/控件對(duì)象內(nèi)容的繪制及顯示),這樣,用戶就能夠看到相關(guān)的界面顯示結(jié)果。同樣的,插件/控件進(jìn)程發(fā)出的這種繪制消息也可以從沙箱內(nèi)放過(guò),可以將這種消息寫入到通訊指令集中。
[0061]需要說(shuō)明的是,在實(shí)際應(yīng)用中,可能并不是所有的插件/控件都是允許與所在頁(yè)面的進(jìn)程獨(dú)立的,例如,一些網(wǎng)銀的控件,如果放到與頁(yè)面進(jìn)程相獨(dú)立的另一個(gè)進(jìn)程中,則可能無(wú)法實(shí)現(xiàn)相應(yīng)的功能。因此,在具體實(shí)現(xiàn)時(shí),可以僅針對(duì)一些播放器、flash等獨(dú)立性強(qiáng)的插件/控件,或者在將插件/控件進(jìn)程獨(dú)立出來(lái)之后不會(huì)影響到具體功能實(shí)現(xiàn)的插件/控件,使用本發(fā)明實(shí)施例的方案來(lái)實(shí)現(xiàn),其他的插件/控件仍然使用已有技術(shù)來(lái)實(shí)現(xiàn)即可。
[0062]總之,通過(guò)本發(fā)明實(shí)施例提供的瀏覽網(wǎng)頁(yè)的方法,由于將插件/控件從瀏覽器頁(yè)面進(jìn)程中獨(dú)立出來(lái),并且將插件/控件進(jìn)程實(shí)時(shí)放入到沙箱中運(yùn)行,因此,能夠在保證用戶上網(wǎng)安全性的同時(shí),避免由于插件/控件的卡死或崩潰等現(xiàn)象引起瀏覽器頁(yè)面失去響應(yīng)的現(xiàn)象,進(jìn)而提高瀏覽器運(yùn)行的穩(wěn)定性。
[0063]與本發(fā)明實(shí)施例提供的瀏覽網(wǎng)頁(yè)的方法相對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種瀏覽網(wǎng)頁(yè)的裝置,參見(jiàn)圖2,該裝置可以包括:
[0064]獨(dú)立進(jìn)程創(chuàng)建單元201,用于當(dāng)頁(yè)面線程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件/控件進(jìn)程; [0065]沙箱驅(qū)動(dòng)單元202,用于將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行;
[0066]進(jìn)程間通信單元203,用于通過(guò)實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間進(jìn)行進(jìn)程間通信,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽;其中,所述頁(yè)面進(jìn)程運(yùn)行于沙箱外。
[0067]其中,進(jìn)程間通信單元203具體可以包括:
[0068]第一通信子單元,用于在所述獨(dú)立的插件/控件進(jìn)程中創(chuàng)建主窗口對(duì)象及瀏覽器宿主對(duì)象,將所述瀏覽器宿主對(duì)象連接到所述主窗口對(duì)象上,以便所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送消息。[0069]具體實(shí)現(xiàn)時(shí),所述第一通信子單元具體可以用于:
[0070]所述頁(yè)面進(jìn)程通過(guò)所述主窗口向所述插件/控件進(jìn)程發(fā)送鼠標(biāo)、鍵盤響應(yīng)事件消
肩、O
[0071]或者,進(jìn)程間通信單元203也可以包括:
[0072]第二通信子單元,用于當(dāng)沙箱內(nèi)的插件/控件進(jìn)程需要向沙箱外發(fā)出指令時(shí),判斷該指令是否為向所述插件/控件進(jìn)程發(fā)出的,并且屬于預(yù)置的通訊指令集,如果是,則將該指令放行,以便所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程進(jìn)行發(fā)送消息。
[0073]具體實(shí)現(xiàn)時(shí),所述第二通信子單元具體可以用于:
[0074]當(dāng)所述插件/控件進(jìn)程有腳本需要調(diào)用時(shí),將所述腳本轉(zhuǎn)發(fā)到創(chuàng)建該插件/控件進(jìn)程的頁(yè)面線程中;
[0075]或者,
[0076]當(dāng)所述插件/控件進(jìn)程產(chǎn)生繪制事件時(shí),將所述繪制事件對(duì)應(yīng)的數(shù)據(jù)發(fā)送給對(duì)應(yīng)的頁(yè)面進(jìn)程。
[0077]通過(guò)本發(fā)明實(shí)施例提供的瀏覽網(wǎng)頁(yè)的裝置,由于將插件/控件從瀏覽器頁(yè)面進(jìn)程中獨(dú)立出來(lái),并且將插件/控件進(jìn)程實(shí)時(shí)放入到沙箱中運(yùn)行,因此,能夠在保證用戶上網(wǎng)安全性的同時(shí),避免由于插件/控件的卡死或崩潰等現(xiàn)象引起瀏覽器頁(yè)面失去響應(yīng)的現(xiàn)象,進(jìn)而提高瀏覽器運(yùn)行的穩(wěn)定性。
[0078]通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0079]本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0080]以上對(duì)本發(fā)明所提供的瀏覽網(wǎng)頁(yè)的方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1.一種網(wǎng)頁(yè)瀏覽方法,其包括: 當(dāng)頁(yè)面進(jìn)程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件/控件進(jìn)程; 將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行; 允許所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間的通信以實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽。
2.根據(jù)權(quán)利要求1所述的方法,其中,允許所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間的通信包括: 在所述獨(dú)立的插件/控件進(jìn)程中創(chuàng)建主窗口對(duì)象及瀏覽器宿主對(duì)象; 將所述瀏覽器宿主對(duì)象連接到所述主窗口對(duì)象上。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,允許所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間的通信進(jìn)一步包括: 允許所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程發(fā)送消息;和/或 允許所述頁(yè)面進(jìn)程向所述插件/控件進(jìn)程發(fā)送消息。
4.根據(jù)權(quán)利要求3所述的方法,其中,允許所述頁(yè)面進(jìn)程向所述插件/控件進(jìn)程發(fā)送消息進(jìn)一步包括: 所述頁(yè)面進(jìn)程接管所述插件/控件進(jìn)程中的響應(yīng)事件并通過(guò)消息轉(zhuǎn)發(fā)機(jī)制通知給沙箱內(nèi)的所述插件/控件進(jìn)程。
5.根據(jù)權(quán)利要求4所述的方法,其中,允許所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程發(fā)送消息進(jìn)一步包括: 當(dāng)沙箱內(nèi)的插件/控件進(jìn)程需要向沙箱外發(fā)出指令時(shí),判斷該指令是否是由所述插件/控件進(jìn)程發(fā)出的,并且屬于預(yù)置的通訊指令集; 如果是,則將放行該指令。
6.根據(jù)權(quán)利要求4所述的方法,其中,允許所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程發(fā)送消息進(jìn)一步包括: 通過(guò)管道機(jī)制實(shí)現(xiàn)所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程的發(fā)送消息。
7.根據(jù)權(quán)利要求4所述的方法,其中,允許所述插件/控件進(jìn)程向所述頁(yè)面進(jìn)程發(fā)送消息進(jìn)一步包括: 當(dāng)所述插件/控件進(jìn)程有腳本需要調(diào)用時(shí),將所述腳本轉(zhuǎn)發(fā)到創(chuàng)建該插件進(jìn)程的頁(yè)面進(jìn)程中; 或者, 當(dāng)所述插件/控件進(jìn)程產(chǎn)生繪制事件時(shí),將所述繪制事件對(duì)應(yīng)的數(shù)據(jù)發(fā)送給對(duì)應(yīng)的頁(yè)面進(jìn)程。
8.一種網(wǎng)頁(yè)瀏覽方法,其包括: 當(dāng)頁(yè)面進(jìn)程創(chuàng)建插件/控件對(duì)象時(shí),為所述插件/控件對(duì)象創(chuàng)建與頁(yè)面進(jìn)程相獨(dú)立的插件/控件進(jìn)程; 將所述獨(dú)立的插件/控件進(jìn)程放到沙箱中運(yùn)行并在所述獨(dú)立的插件/控件進(jìn)程中創(chuàng)建主窗口對(duì)象及瀏覽器宿主對(duì)象; 將所述瀏覽器宿主對(duì)象連接到所述主窗口對(duì)象上以實(shí)現(xiàn)頁(yè)面進(jìn)程與插件/控件進(jìn)程之間的通信,從而實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽。
9.根據(jù)權(quán)利要求8所述的方法,其中,實(shí)現(xiàn)頁(yè)面進(jìn)程與插件/控件進(jìn)程之間的通信還包括: 所述頁(yè)面進(jìn)程接管所述插件/控件進(jìn)程中的響應(yīng)事件并通過(guò)消息轉(zhuǎn)發(fā)機(jī)制通知給沙箱內(nèi)的所述插件/控件進(jìn)程。
10.根據(jù)權(quán)利要求8或9所述的方法,其中,實(shí)現(xiàn)頁(yè)面進(jìn)程與插件/控件進(jìn)程之間的通信還包括: 當(dāng)沙箱內(nèi)的插件/控件進(jìn)程需要向沙箱外發(fā)出指令時(shí),判斷該指令是否是由所述插件/控件進(jìn)程發(fā)出的,并且屬于預(yù)置的通訊指令集; 如果是,則將放行該指令。
11.根據(jù)權(quán)利要求8或9所述的方法,其中,實(shí)現(xiàn)頁(yè)面進(jìn)程與插件/控件進(jìn)程之間的通信還包括: 通過(guò)管道機(jī)制實(shí)現(xiàn)所述插件/控件進(jìn)程與所述頁(yè)面進(jìn)程之間的通信。
12.根據(jù)權(quán)利要求8至11所述的方法,其中,實(shí)現(xiàn)頁(yè)面進(jìn)程與插件/控件進(jìn)程之間的通信還包括: 當(dāng)所述插件/控件進(jìn)程有腳本需要調(diào)用時(shí),將所述腳本轉(zhuǎn)發(fā)到創(chuàng)建該插件進(jìn)程的頁(yè)面進(jìn)程中; 或者, 當(dāng)所述插件/控件進(jìn)程產(chǎn)生繪制事件時(shí),將所述繪制事件對(duì)應(yīng)的數(shù)據(jù)發(fā)送給對(duì)應(yīng)的頁(yè)面進(jìn)程。
【文檔編號(hào)】G06F21/53GK104021167SQ201410232650
【公開(kāi)日】2014年9月3日 申請(qǐng)日期:2011年12月28日 優(yōu)先權(quán)日:2011年12月28日
【發(fā)明者】李錦偉, 陳志
申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
孝义市| 佛学| 乌兰浩特市| 荥经县| 张家界市| 固阳县| 甘南县| 怀集县| 丰原市| 龙岩市| 遵义市| 自贡市| 乐安县| 荣昌县| 平顶山市| 二连浩特市| 永川市| 瑞安市| 青阳县| 玛多县| 汝阳县| 宜黄县| 沾益县| 吉林省| 南宁市| 延长县| 太和县| 伊通| 西贡区| 墨脱县| 滦南县| 卓资县| 太仆寺旗| 宜春市| 六安市| 嘉黎县| 孟村| 辛集市| 张家口市| 阜宁县| 鸡西市|