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