網(wǎng)頁(yè)調(diào)用插件的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種網(wǎng)頁(yè)調(diào)用插件的方法和系統(tǒng)。
【背景技術(shù)】
[0002]對(duì)于web頁(yè)面和客戶端進(jìn)行交互的方式主要有兩類(lèi)。第一種是通過(guò)自定義協(xié)議的做法,所謂的自定義協(xié)議是沒(méi)有通過(guò)標(biāo)準(zhǔn)組織認(rèn)定認(rèn)可的協(xié)議,通過(guò)在注冊(cè)表中綁定該協(xié)議的處理消息響應(yīng)web中的請(qǐng)求,典型場(chǎng)景是下載工具。另一種交互的方式是通過(guò)瀏覽器提供的擴(kuò)展接口和頁(yè)面的腳本語(yǔ)言進(jìn)行交互,具體說(shuō)有兩種,對(duì)于IE瀏覽器來(lái)說(shuō)是使用 ActiveX,對(duì)于非 IE 瀏覽器使用 NPAPI (Netscape Plugin Applicat1n ProgrammingInterface,網(wǎng)景插件應(yīng)用程序接口)。NPAPI是一個(gè)跨平臺(tái)的瀏覽器插件框架,被非IE瀏覽器廣泛使用的框架。
[0003]針對(duì)插件形式的擴(kuò)展,對(duì)于ActiveX,從框架的角度提供了 1bjectSafety接口,通過(guò)實(shí)現(xiàn)該接口下的方法,可以對(duì)不同接口在不同條件(如域名)下提供不同的權(quán)限。對(duì)于NPAPI,框架沒(méi)有提供任何權(quán)限相關(guān)的接口。意味沒(méi)有成熟的解決方案來(lái)保證調(diào)用的安全性。由于web頁(yè)面的源碼對(duì)于每個(gè)人都是可以訪問(wèn)到的,所以接口完全暴露出去是很危險(xiǎn)的。因?yàn)椴寮哂休^高權(quán)限,如果插件本身邏輯有不完善的地方很容易導(dǎo)致其他web頁(yè)面利用該漏洞在用戶不知情的情況下做出獲取隱私,破壞數(shù)據(jù)等危險(xiǎn)的行為。
[0004]為了解決權(quán)限和安全問(wèn)題,傳統(tǒng)技術(shù)中,如IE —般都是通過(guò)域名來(lái)進(jìn)行過(guò)濾,域名可以是編譯到二進(jìn)制中,也可以是動(dòng)態(tài)下發(fā)或者是實(shí)時(shí)去服務(wù)器拉取。然而,編譯到二進(jìn)制的方法,必須二進(jìn)制更新了才有效,會(huì)導(dǎo)致白名單更新很不及時(shí)。動(dòng)態(tài)下發(fā)方案中,二進(jìn)制和域名列表分離,預(yù)設(shè)時(shí)間段獲取配置文件,配置文件更改才能使過(guò)濾域名更改。這種方案中,白名單是動(dòng)態(tài)下發(fā)的本地文件,有可能導(dǎo)致白名單會(huì)被破壞,或者篡改。實(shí)時(shí)獲取則過(guò)于依賴(lài)網(wǎng)絡(luò)導(dǎo)致網(wǎng)頁(yè)加載插件可能會(huì)變慢。
[0005]由此可見(jiàn),傳統(tǒng)的網(wǎng)頁(yè)調(diào)用插件技術(shù)中,往往出現(xiàn)白名單更新不及時(shí)現(xiàn)象,從而導(dǎo)致調(diào)用插件過(guò)程中對(duì)網(wǎng)頁(yè)過(guò)濾效率差。
【發(fā)明內(nèi)容】
[0006]基于此,有必要針對(duì)調(diào)用插件過(guò)程中對(duì)網(wǎng)頁(yè)過(guò)濾效率差的問(wèn)題,提供一種網(wǎng)頁(yè)調(diào)用插件的方法和系統(tǒng)。
[0007]—種網(wǎng)頁(yè)調(diào)用插件的方法,包括:
[0008]建立調(diào)用插件的網(wǎng)頁(yè)對(duì)應(yīng)的密鑰;
[0009]分別將所述密鑰綁定到對(duì)應(yīng)的網(wǎng)頁(yè);
[0010]接收網(wǎng)頁(yè)的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求包括綁定在該網(wǎng)頁(yè)上的密鑰;
[0011]根據(jù)所述建立的密鑰對(duì)調(diào)用請(qǐng)求中的密鑰進(jìn)行校驗(yàn),確定校驗(yàn)成功的密鑰對(duì)應(yīng)的調(diào)用請(qǐng)求,并根據(jù)該調(diào)用請(qǐng)求執(zhí)行對(duì)應(yīng)的插件。
[0012]一種網(wǎng)頁(yè)調(diào)用插件系統(tǒng),包括:
[0013]密鑰建立模塊,用于建立調(diào)用插件的網(wǎng)頁(yè)對(duì)應(yīng)的密鑰;
[0014]密鑰綁定模塊,用于分別將所述密鑰綁定到對(duì)應(yīng)的網(wǎng)頁(yè);
[0015]調(diào)用請(qǐng)求接收模塊,用于接收網(wǎng)頁(yè)的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求包括綁定在該網(wǎng)頁(yè)上的密鑰;
[0016]密鑰校驗(yàn)?zāi)K,用于根據(jù)所述建立的密鑰對(duì)調(diào)用請(qǐng)求中的密鑰進(jìn)行校驗(yàn);
[0017]插件執(zhí)行模塊,用于確定校驗(yàn)成功的密鑰對(duì)應(yīng)的調(diào)用請(qǐng)求,并根據(jù)該調(diào)用請(qǐng)求執(zhí)行對(duì)應(yīng)的插件。
[0018]上述網(wǎng)頁(yè)調(diào)用插件的方法和系統(tǒng),其是通過(guò)為調(diào)用插件的網(wǎng)頁(yè)建立對(duì)應(yīng)的密鑰,并分別將密鑰綁定到對(duì)應(yīng)的網(wǎng)頁(yè)中。如此,調(diào)用插件的網(wǎng)頁(yè)就有了各自對(duì)應(yīng)的密鑰。在接收到網(wǎng)頁(yè)的調(diào)用請(qǐng)求時(shí),則根據(jù)建立的密鑰對(duì)調(diào)用請(qǐng)求中的密鑰進(jìn)行校驗(yàn),校驗(yàn)成功時(shí),可以獲得密鑰對(duì)應(yīng)的調(diào)用請(qǐng)求,并根據(jù)調(diào)用請(qǐng)求執(zhí)行對(duì)應(yīng)的插件。采用這種密鑰校驗(yàn)方式,從而實(shí)現(xiàn)調(diào)用插件過(guò)程中對(duì)網(wǎng)頁(yè)的過(guò)濾,大大提高了過(guò)濾效率。
【附圖說(shuō)明】
[0019]圖1為本發(fā)明一個(gè)實(shí)施例中的網(wǎng)頁(yè)調(diào)用插件的方法的流程示意圖;
[0020]圖2為本發(fā)明另一個(gè)實(shí)施例中校驗(yàn)密鑰的流程示意圖;
[0021]圖3為本發(fā)明一個(gè)具體示例的架構(gòu)示意圖;
[0022]圖4為本發(fā)明一個(gè)具體示例中的網(wǎng)頁(yè)調(diào)用插件的方法的流程示意圖;
[0023]圖5為本發(fā)明一個(gè)實(shí)施例中的網(wǎng)頁(yè)調(diào)用插件的系統(tǒng)的結(jié)構(gòu)示意圖;
[0024]圖6為本發(fā)明另一個(gè)實(shí)施例中的網(wǎng)頁(yè)調(diào)用插件的系統(tǒng)的結(jié)構(gòu)示意圖;
[0025]圖7為本發(fā)明另一個(gè)實(shí)施例中密鑰校驗(yàn)?zāi)K結(jié)構(gòu)示意圖;
[0026]圖8為本發(fā)明一個(gè)具體示例中的網(wǎng)頁(yè)調(diào)用插件的系統(tǒng)的結(jié)構(gòu)示意圖;
[0027]圖9是基于本發(fā)明方案提供的終端的部分結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0028]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不限定本發(fā)明的保護(hù)范圍。
[0029]如圖1所示,為本發(fā)明一個(gè)實(shí)施例中的網(wǎng)頁(yè)調(diào)用插件的方法的流程示意圖,包括步驟:
[0030]步驟SlOl:建立調(diào)用插件的網(wǎng)頁(yè)對(duì)應(yīng)的密鑰;
[0031]密鑰,往往又稱(chēng)為Key,密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的數(shù)據(jù)。
[0032]本實(shí)施例給調(diào)用插件的網(wǎng)頁(yè)建立對(duì)應(yīng)的密鑰,目的可以是為了讓每個(gè)網(wǎng)頁(yè)有對(duì)應(yīng)的密鑰,從而在后續(xù)校驗(yàn)中可以確定可以調(diào)用該插件的網(wǎng)頁(yè)。這里提及的調(diào)用插件的網(wǎng)頁(yè)可以是所有網(wǎng)頁(yè),即可以建立所有網(wǎng)頁(yè)對(duì)應(yīng)的密鑰。
[0033]當(dāng)然,為了減小計(jì)算量,也可以事先確定哪些網(wǎng)頁(yè)是具有調(diào)用插件權(quán)限的網(wǎng)頁(yè),這里的調(diào)用插件的網(wǎng)頁(yè)即具有調(diào)用插件權(quán)限的網(wǎng)頁(yè)。比如,根據(jù)用戶指令確定具有調(diào)用插件權(quán)限的網(wǎng)頁(yè)(具有調(diào)用插件權(quán)限的網(wǎng)頁(yè)也可稱(chēng)為合法網(wǎng)頁(yè)),然后建立這些網(wǎng)頁(yè)對(duì)應(yīng)的密鑰。
[0034]在其中一個(gè)實(shí)施例中,步驟SlOl建立密鑰的方法,具體可以包括:
[0035]分別獲取調(diào)用插件的網(wǎng)頁(yè)的標(biāo)識(shí)信息;利用加密算法對(duì)所述標(biāo)識(shí)信息進(jìn)行加密,獲得所述網(wǎng)頁(yè)對(duì)應(yīng)的密鑰。
[0036]這里的標(biāo)識(shí)信息是可以標(biāo)識(shí)網(wǎng)頁(yè)的一種信息。tWn,可以是該網(wǎng)頁(yè)的域名,也可以是該網(wǎng)頁(yè)的網(wǎng)址。由于同一個(gè)域名可以包括多個(gè)網(wǎng)頁(yè),因此以域名作為標(biāo)識(shí)信息可以大大縮小加密算法計(jì)算密鑰的計(jì)算量。
[0037]另一方面,以網(wǎng)址作為標(biāo)識(shí)信息,可以具體落實(shí)到每個(gè)網(wǎng)頁(yè)的密鑰,從而限定每個(gè)網(wǎng)頁(yè)的調(diào)用權(quán)限。因此,可以根據(jù)需求確定將域名設(shè)為標(biāo)識(shí)信息,還是將網(wǎng)址設(shè)為標(biāo)識(shí)信息,另外,也可以設(shè)置其他可以代表該網(wǎng)頁(yè)的標(biāo)識(shí)信息。
[0038]在建立網(wǎng)頁(yè)對(duì)應(yīng)的密鑰前,先分別獲取調(diào)用插件的網(wǎng)頁(yè)的標(biāo)識(shí)信息,利用加密算法對(duì)所述標(biāo)識(shí)信息進(jìn)行加密,可以得到密鑰與標(biāo)識(shí)信息的關(guān)聯(lián)關(guān)系,從而得到網(wǎng)頁(yè)與密鑰的關(guān)聯(lián)關(guān)系。比如,當(dāng)標(biāo)識(shí)信息是網(wǎng)址時(shí),網(wǎng)頁(yè)與密鑰是一一對(duì)應(yīng)的。當(dāng)標(biāo)識(shí)信息是域名時(shí),同一域名下的網(wǎng)頁(yè)對(duì)應(yīng)的密鑰相同。為了方便后續(xù)校驗(yàn),每個(gè)標(biāo)識(shí)信息與密鑰之間可以
--對(duì)應(yīng)。
[0039]可以采用對(duì)稱(chēng)加密算法對(duì)所述標(biāo)識(shí)信息進(jìn)行加密,也可以采用非對(duì)稱(chēng)加密算法對(duì)所述標(biāo)識(shí)信息進(jìn)行加密。比如,可以采用RSA公鑰加密算法對(duì)標(biāo)識(shí)信息進(jìn)行加密。
[0040]步驟S102:分別將所述密鑰綁定到對(duì)應(yīng)的網(wǎng)頁(yè);
[0041]分別將密鑰綁定到對(duì)應(yīng)的網(wǎng)頁(yè)是為了讓網(wǎng)頁(yè)端標(biāo)記各自對(duì)應(yīng)的密鑰。為了過(guò)濾網(wǎng)頁(yè),一般不會(huì)給所有網(wǎng)頁(yè)都綁定相應(yīng)的密鑰,而是對(duì)一些有調(diào)用插件權(quán)限的網(wǎng)頁(yè)綁定密鑰。
[0042]當(dāng)步驟SlOl中是為所有網(wǎng)頁(yè)建立對(duì)應(yīng)的密鑰時(shí),本步驟則先確定待綁定網(wǎng)頁(yè)(即具有調(diào)用插件權(quán)限的網(wǎng)頁(yè)),然后將密鑰綁定到對(duì)應(yīng)的待綁定網(wǎng)頁(yè)中。比如,根據(jù)用戶指令確定待綁定網(wǎng)頁(yè)。當(dāng)步驟SlOl中僅為具有調(diào)用插件權(quán)限的網(wǎng)頁(yè)建立了密鑰時(shí),則本步驟可以分別將密鑰綁定到對(duì)應(yīng)的具有調(diào)用插件權(quán)限的網(wǎng)頁(yè)中。
[0043]通過(guò)該步驟,有調(diào)用插件權(quán)限的網(wǎng)頁(yè)則有密鑰,沒(méi)有調(diào)用插件權(quán)限的網(wǎng)頁(yè)則沒(méi)有密鑰。而對(duì)于有密鑰的網(wǎng)頁(yè)在后續(xù)校驗(yàn)中才能校驗(yàn)成功,對(duì)于沒(méi)有接收到密鑰的網(wǎng)頁(yè)在后續(xù)校驗(yàn)中則校驗(yàn)失敗。
[0044]在其中一個(gè)實(shí)施例中,這里的綁定可以是發(fā)送或通知。即:在插件發(fā)行端,將密鑰發(fā)送或者通知對(duì)應(yīng)的網(wǎng)頁(yè)。
[0045]在另一個(gè)實(shí)施例中,步驟S102具體可以包括:分別確定調(diào)用插件的各個(gè)網(wǎng)頁(yè)對(duì)應(yīng)的密鑰,將所述密鑰以編碼的形式寫(xiě)入網(wǎng)頁(yè)的代碼中。
[0046]比如,在插件生成端,可以分別確定調(diào)用插件的各個(gè)網(wǎng)頁(yè)對(duì)應(yīng)的密鑰,并分別向各網(wǎng)頁(yè)發(fā)送對(duì)應(yīng)的密鑰。在網(wǎng)頁(yè)端,調(diào)用插件的各個(gè)網(wǎng)頁(yè)可以接收對(duì)應(yīng)的密鑰,并將密鑰以編碼的形式寫(xiě)入網(wǎng)頁(yè)代碼中。
[0047]步驟S103:接收網(wǎng)頁(yè)的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求包括綁定在該網(wǎng)頁(yè)上的密鑰;
[0048]調(diào)用請(qǐng)求是指網(wǎng)頁(yè)發(fā)送的調(diào)用插件的請(qǐng)求。本實(shí)施例中的調(diào)用請(qǐng)求還可以包括傳統(tǒng)意義上的調(diào)用插件指令,是為了實(shí)現(xiàn)調(diào)用插件的目的。
[0049]步驟S104:根據(jù)所述建立的密鑰對(duì)調(diào)用請(qǐng)求中的密鑰進(jìn)行校驗(yàn),確定校驗(yàn)成功的密鑰對(duì)應(yīng)的調(diào)用請(qǐng)求,并根據(jù)該調(diào)用請(qǐng)求執(zhí)行對(duì)應(yīng)的插件。
[0050]根據(jù)本發(fā)明實(shí)施例的方法,其是通過(guò)為調(diào)用插件的網(wǎng)頁(yè)建立對(duì)應(yīng)的密鑰,并分別將密鑰綁定到對(duì)應(yīng)的網(wǎng)頁(yè)中。如此,調(diào)用插件的網(wǎng)頁(yè)就有了各自對(duì)應(yīng)的密鑰。在接收到網(wǎng)頁(yè)的調(diào)用請(qǐng)求時(shí),則根據(jù)建立的密鑰對(duì)調(diào)用請(qǐng)求中的密鑰進(jìn)行校驗(yàn),校驗(yàn)成功時(shí),可以獲得密鑰對(duì)應(yīng)的調(diào)用請(qǐng)求,并根據(jù)調(diào)用請(qǐng)求執(zhí)行對(duì)應(yīng)的插件。采用這種密鑰校驗(yàn)方式,從而實(shí)現(xiàn)調(diào)用插件過(guò)程中對(duì)網(wǎng)頁(yè)的過(guò)濾,大大提高了過(guò)濾效率。
[0051]在本發(fā)明方案中,根據(jù)所述建立的密鑰對(duì)調(diào)用請(qǐng)求中的密鑰進(jìn)行校驗(yàn),可以是將建立的密鑰和調(diào)用請(qǐng)求中的密鑰進(jìn)行匹配。
[0052]在其中一個(gè)實(shí)施例中,所述利用加密算法對(duì)所述標(biāo)識(shí)信息進(jìn)行加密后,還可以