一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng)。本發(fā)明實(shí)施例采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函數(shù),利用該應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾;由于基本上所有瀏覽器在請(qǐng)求數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn)題,無(wú)需特意為不同的瀏覽器開(kāi)發(fā)特定的插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn)靈活。
【專(zhuān)利說(shuō)明】一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信【技術(shù)領(lǐng)域】,具體涉及一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002] 瀏覽器(Browser),是萬(wàn)維網(wǎng)服務(wù)的客戶(hù)端瀏覽程序,它可以通過(guò)向萬(wàn)維網(wǎng)服務(wù)器 發(fā)送各種請(qǐng)求,然后對(duì)萬(wàn)維網(wǎng)服務(wù)器根據(jù)這些請(qǐng)求返回的數(shù)據(jù),如超文本信息和各種多媒 體數(shù)據(jù)進(jìn)行解釋、顯示和播放。通過(guò)瀏覽器,用戶(hù)可以瀏覽萬(wàn)維網(wǎng)服務(wù)的各種數(shù)據(jù),比如網(wǎng) 頁(yè)、視頻等等,在此過(guò)程中,除了用戶(hù)自身需求的數(shù)據(jù)之外,往往還會(huì)夾雜有其他的一些數(shù) 據(jù),比如一些惡意網(wǎng)頁(yè)廣告或彈窗廣告等,這些數(shù)據(jù)常常會(huì)對(duì)用戶(hù)的瀏覽造成干擾,特別是 一些投放不規(guī)范的網(wǎng)頁(yè)廣告或彈窗廣告等,更會(huì)對(duì)用戶(hù)造成騷擾,極大影響到用戶(hù)的瀏覽 體驗(yàn),因此,如果對(duì)瀏覽器頁(yè)面數(shù)據(jù)進(jìn)行過(guò)濾,是一個(gè)值得關(guān)注的問(wèn)題。
[0003] 在現(xiàn)有技術(shù)中,一般通過(guò)在瀏覽器中加載插件來(lái)實(shí)現(xiàn)對(duì)瀏覽器頁(yè)面數(shù)據(jù)進(jìn)行過(guò) 濾,比如加載一個(gè)廣告攔截插件,等等。但是,由于目前瀏覽器的種類(lèi)較多,各種瀏覽器的特 性也截然不同,因此,很難將同一種插件移植到不同的瀏覽器下,也就是說(shuō),針對(duì)不同的瀏 覽器,一般需要開(kāi)發(fā)不同的插件。
[0004] 在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過(guò)程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),由于現(xiàn)有方案中每個(gè) 瀏覽器內(nèi)核都需要額外地去維護(hù)一個(gè)插件,因此后期維護(hù)較為麻煩,而且需要針對(duì)不同的 瀏覽器開(kāi)發(fā)不同的插件,開(kāi)發(fā)量也較大,實(shí)現(xiàn)不夠靈活。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng),不僅無(wú)需后期維 護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn)靈活。
[0006] 一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法,包括:
[0007] 接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息;
[0008] 根據(jù)所述數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口(API,Application Programming Interface),所述應(yīng)用程序編程接口包括鉤子(HOOK)函數(shù);
[0009] 利用所述應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
[0010] 一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,包括:
[0011] 接收單元,用于接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息;
[0012] 調(diào)用單元,用于根據(jù)所述數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,所述應(yīng)用 程序編程接口包括鉤子函數(shù);
[0013] 過(guò)濾單元,用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息 進(jìn)行過(guò)濾。
[0014] 一種通信系統(tǒng),包括本發(fā)明實(shí)施例提供的任一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置。
[0015] 本發(fā)明實(shí)施例采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根據(jù)該數(shù)據(jù)請(qǐng)求消 息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函數(shù),利用該應(yīng)用程 序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾;由于基本上所有瀏覽器在請(qǐng)求 數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn)題,無(wú)需 特意為不同的瀏覽器開(kāi)發(fā)特定的插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn)靈活。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0016] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附 圖。
[0017] 圖1是本發(fā)明實(shí)施例提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法的流程圖;
[0018] 圖2a是本發(fā)明實(shí)施例提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法的場(chǎng)景示意圖;
[0019] 圖2b是本發(fā)明實(shí)施例提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法的另一流程圖;
[0020] 圖3是本發(fā)明實(shí)施例提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法的又一流程圖;
[0021] 圖4是本發(fā)明實(shí)施例提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法的再一流程圖;
[0022] 圖5是本發(fā)明實(shí)施例提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置的結(jié)構(gòu)示意圖;
[0023] 圖6是本發(fā)明實(shí)施例提供的終端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0025] 本發(fā)明實(shí)施例提供一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng)。以下分別進(jìn)行詳 細(xì)說(shuō)明。
[0026] 實(shí)施例一、
[0027] 本發(fā)明實(shí)施例將從瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置的角度進(jìn)行描述,該瀏覽器頁(yè)面數(shù)據(jù) 過(guò)濾裝置具體可以集成在客戶(hù)端中,該客戶(hù)端可以裝載在終端中,該終端具體可以為智能 手機(jī)、平板電腦、電子書(shū)閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4 (Moving Picture Experts Group Audio Layer IV,動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面3)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等 等。
[0028] -種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法,包括:接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消 息;根據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,應(yīng)用程序編程接口包括鉤子 (Η00Κ)函數(shù);利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
[0029] 如圖1所示,具體流程可以如下:
[0030] 101、接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息;其中,該數(shù)據(jù)請(qǐng)求消息可以請(qǐng)求 網(wǎng)頁(yè)展現(xiàn)各種資源文件。
[0031] 該數(shù)據(jù)請(qǐng)求消息具體可以為鏈接地址,比如統(tǒng)一資源定位符(URL,Uniform Resource Locator)等。
[0032] 102、根據(jù)步驟101中接收到的數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口(API, Application Programming Interface), I:匕如 send 或 recv 等等。
[0033] 其中,應(yīng)用程序編程接口包括HOOK函數(shù),例如,具體可以在應(yīng)用程序編程接口的 代碼的頭部添加 HOOK函數(shù)的代碼。
[0034] 需說(shuō)明的是,應(yīng)用程序編程接口是一些預(yù)先定義的函數(shù),其目的在于提供應(yīng)用程 序與開(kāi)發(fā)人員基于某軟件或硬件的以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi) 部工作機(jī)制的細(xì)節(jié)。而Η00Κ函數(shù)是消息處理機(jī)制的一部分,通過(guò)設(shè)置"鉤子",應(yīng)用程序可 以各種消息和事件進(jìn)行過(guò)濾,在此不再贅述。
[0035] 103、利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
[0036] 其中,過(guò)濾的方式可以有多種,比如,如果檢測(cè)到該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為預(yù)置的需要攔截的數(shù)據(jù)時(shí),則可以直接阻止該數(shù)據(jù)請(qǐng)求消息或者返回一個(gè)空白文件,以 替換掉該數(shù)據(jù)請(qǐng)求消息原來(lái)所請(qǐng)求的數(shù)據(jù),等等。例如,具體可以如下:
[0037] (1)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),阻止該數(shù)據(jù)請(qǐng)求消息。
[0038] 其中,該需要攔截的數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0039] 例如,以廣告攔截為例,當(dāng)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接時(shí),則可以直接阻止該數(shù)據(jù)請(qǐng)求消息。
[0040] (2)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求 消息所請(qǐng)求的數(shù)據(jù)。
[0041] 其中,該需要攔截的數(shù)據(jù)可根據(jù)以實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0042] 例如,以廣告攔截為例,當(dāng)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接(比如js文件,swf文件等)時(shí),則可以根據(jù)該數(shù)據(jù)請(qǐng) 求消息返回一個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),即替換掉該數(shù)據(jù)請(qǐng)求消息 原來(lái)所請(qǐng)求的廣告數(shù)據(jù),這樣,瀏覽器就會(huì)以為已經(jīng)下載到了該廣告數(shù)據(jù),從而起到攔截該 廣告數(shù)據(jù)的作用。
[0043] (3)可選的,為了提高其靈活性和用戶(hù)體驗(yàn)質(zhì)量,還可以根據(jù)數(shù)據(jù)請(qǐng)求消息具體所 請(qǐng)求的數(shù)據(jù)的類(lèi)型而采用不同的過(guò)濾方式,例如,還可以如下方式來(lái)進(jìn)行過(guò)濾:
[0044] A、利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的第一類(lèi)數(shù)據(jù)時(shí),阻止該數(shù)據(jù)請(qǐng)求消息;
[0045] B、利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的第二類(lèi)數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為該數(shù) 據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
[0046] 其中,該需要攔截的數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0047] 例如,還是以廣告攔截為例,其中,需要攔截的第一類(lèi)數(shù)據(jù)可以設(shè)置為"廣告鏈接 且為非圖片鏈接",需要攔截的第二類(lèi)數(shù)據(jù)可以設(shè)置為"廣告鏈接且為圖片鏈接",則上述步 驟具體可以如下:
[0048] 利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為廣告鏈接且為非圖片鏈接時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息;
[0049] 利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為廣告鏈接且為圖片鏈接時(shí),據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白圖片文件,作為該數(shù)據(jù)請(qǐng) 求消息所請(qǐng)求的數(shù)據(jù),即用該空白圖片文件替換掉該數(shù)據(jù)請(qǐng)求消息原來(lái)所請(qǐng)求的廣告圖 片,這樣,瀏覽器就會(huì)以為已經(jīng)下載到了該廣告圖片,從而起到攔截該廣告圖片的作用。
[0050] 需說(shuō)明的是,如果檢測(cè)到該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)不是預(yù)置的需要攔截的 數(shù)據(jù),則繼續(xù)根據(jù)該數(shù)據(jù)請(qǐng)求消息獲取需要請(qǐng)求的數(shù)據(jù),在此不再贅述。
[0051] 此外,可選的,為了提高用戶(hù)體驗(yàn)質(zhì)量,還可以將過(guò)濾結(jié)果通知給用戶(hù),比如,可以 告知用戶(hù)過(guò)濾對(duì)象,過(guò)濾的詳細(xì)信息等等。即在步驟"利用該應(yīng)用程序編程接口中的HOOK 函數(shù),對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾"之后,該瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法還可以包括:
[0052] 返回過(guò)濾結(jié)果給用戶(hù)。
[0053] 例如,以廣告攔截為例,具體可以返回?cái)r截結(jié)果和攔截的詳細(xì)信息等過(guò)濾結(jié)果給 用戶(hù),以便用戶(hù)判斷這些攔截是否合適,此后,用戶(hù)還可以通過(guò)查看日志等方式來(lái)查看這些 過(guò)濾結(jié)果,在此不再贅述。
[0054] 由上可知,本實(shí)施例采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根據(jù)該數(shù)據(jù) 請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函數(shù),利用該 應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾;由于基本上所有瀏覽器 在請(qǐng)求數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn) 題,無(wú)需特意為不同的瀏覽器開(kāi)發(fā)特定的插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn) 靈活。
[0055] 根據(jù)實(shí)施例一所描述的方法,以下將在實(shí)施例二、三和四中舉例作進(jìn)一步詳細(xì)說(shuō) 明。
[0056] 實(shí)施例二、
[0057] 在本實(shí)施例中,將以廣告攔截為例進(jìn)行說(shuō)明。
[0058] 如圖2a所示,該瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置具體可以為客戶(hù)端,比如瀏覽器,該客 戶(hù)端可以裝載在終端中,該客戶(hù)端可以包括瀏覽器注入模塊、檢測(cè)攔截模塊和用戶(hù)通知模 塊。在本實(shí)施例中,各個(gè)模塊的功能可以如下:
[0059] (1)瀏覽器注入模塊;
[0060] 瀏覽器注入模塊,主要用于在接收到瀏覽器的數(shù)據(jù)請(qǐng)求消息之后,立即暫停瀏覽 器的請(qǐng)求,并將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊,以確定該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù) 據(jù)是否為一個(gè)廣告的鏈接,并等待檢測(cè)攔截模塊返回檢測(cè)結(jié)果,如果返回的檢測(cè)結(jié)果指示 該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)是一個(gè)廣告鏈接(比如js文件或swf文件)等,則直接阻止 該數(shù)據(jù)請(qǐng)求消息。
[0061] (2)檢測(cè)攔截模塊;
[0062] 檢測(cè)攔截模塊,主要用于接收瀏覽器注入模塊轉(zhuǎn)發(fā)的數(shù)據(jù)請(qǐng)求消息,比如URL,然 后調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,利用廣告規(guī)則庫(kù)對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行檢測(cè),以判斷是 否是一個(gè)廣告鏈接,并返回檢測(cè)結(jié)果給瀏覽器注入模塊。
[0063] 需說(shuō)明的是,由于判斷的標(biāo)準(zhǔn)都在廣告規(guī)則庫(kù)里,因此在系統(tǒng)啟動(dòng)時(shí),該檢測(cè)攔截 模塊需要去解析廣告規(guī)則庫(kù),以及探測(cè)該廣告規(guī)則庫(kù)的更新情況,即請(qǐng)求新的廣告規(guī)則庫(kù), 這樣,才能更精確地對(duì)廣告進(jìn)行攔截。
[0064] 其中,廣告規(guī)則庫(kù)可以保存在服務(wù)端,由服務(wù)端進(jìn)行維護(hù),例如,具體可以在服務(wù) 端設(shè)置一個(gè)"后臺(tái)廣告規(guī)則庫(kù)搜集模塊",用于日常的URL源代碼分析工作,提取這些URL里 面的廣告鏈接,生成廣告規(guī)則下發(fā)到客戶(hù)端供檢測(cè)攔截模塊使用。
[0065] (3)用戶(hù)通知模塊;
[0066] 用戶(hù)通知模塊,主要用于在檢測(cè)攔截模塊攔截到廣告之后,告知用戶(hù)攔截結(jié)果和 攔截的詳細(xì)信息,以便用戶(hù)判斷這些攔截是否合適,此后,用戶(hù)還可以通過(guò)查看日志等方式 來(lái)查看這些攔截信息。
[0067] 基于上述客戶(hù)端的結(jié)構(gòu),如圖2b所示,一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法,具體流程 可以如下:
[0068] 201、瀏覽器注入模塊接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,比如URL等,并 將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊。
[0069] 其中,該數(shù)據(jù)請(qǐng)求消息可以請(qǐng)求網(wǎng)頁(yè)展現(xiàn)各種資源文件。
[0070] 例如,瀏覽器注入模塊接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息后,立即暫停該 數(shù)據(jù)請(qǐng)求消息的請(qǐng)求,并將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊,以確定該數(shù)據(jù)請(qǐng)求消息 所請(qǐng)求的數(shù)據(jù)是否為一個(gè)廣告的鏈接,并等待檢測(cè)攔截模塊返回檢測(cè)結(jié)果。
[0071] 202、檢測(cè)攔截模塊根據(jù)步驟201中接收到的數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序 編程接口。
[0072] 其中,應(yīng)用程序編程接口包括HOOK函數(shù),比如,具體可以在應(yīng)用程序編程接口的 代碼的頭部添加HOOK函數(shù)的代碼。
[0073] 203、檢測(cè)攔截模塊利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消 息即將請(qǐng)求的數(shù)據(jù)是否為廣告鏈接,若是,則返回指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 廣告鏈接的檢測(cè)結(jié)果給瀏覽器注入模塊;若否,則返回指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)不是廣告鏈接的檢測(cè)結(jié)果給瀏覽器注入模塊。
[0074] 204、瀏覽器注入模塊接收檢測(cè)結(jié)果,若該檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求 的數(shù)據(jù)為廣告鏈接,則直接阻止該數(shù)據(jù)請(qǐng)求消息,此時(shí),還可以將該攔截結(jié)果和攔截的詳細(xì) 信息發(fā)送給用戶(hù)通知模塊;否則,若該檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)不是 廣告鏈接,則繼續(xù)執(zhí)行該數(shù)據(jù)請(qǐng)求消息的請(qǐng)求。
[0075] 205、可選的,用戶(hù)通知模塊可以接收瀏覽器注入模塊發(fā)送的攔截結(jié)果和攔截的詳 細(xì)信息,并將該攔截結(jié)果和攔截的詳細(xì)信息通知給用戶(hù),以便用戶(hù)判斷這些攔截是否合適。 [0076] 此后,用戶(hù)還可以通過(guò)查看日志等方式來(lái)查看這些攔截信息。
[0077] 由上可知,由上可知,本實(shí)施例采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根 據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函 數(shù),利用該應(yīng)用程序編程接口中的鉤子函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告 鏈接時(shí),直接阻止該數(shù)據(jù)請(qǐng)求消息,從而實(shí)現(xiàn)對(duì)廣告的攔截;由于基本上所有瀏覽器在請(qǐng)求 數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn)題,無(wú)需 特意為不同的瀏覽器開(kāi)發(fā)特定的廣告攔截插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn) 靈活。
[0078] 實(shí)施例三、
[0079] 與實(shí)施例二相同的是,在本實(shí)施例中,同樣以廣告攔截為例進(jìn)行說(shuō)明。與實(shí)施二不 同的是,在實(shí)施例二中,當(dāng)發(fā)現(xiàn)數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)為廣告鏈接時(shí),采用的是直接阻 止該數(shù)據(jù)請(qǐng)求消息的方式,而在本實(shí)施例中,將采用另一種方式,即根據(jù)該數(shù)據(jù)請(qǐng)求消息返 回一個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),以下將進(jìn)行詳細(xì)說(shuō)明。
[0080] 與實(shí)施例二中的客戶(hù)端結(jié)構(gòu)相同,如圖2a所示,該客戶(hù)端可以包括瀏覽器注入模 塊、檢測(cè)攔截模塊和用戶(hù)通知模塊。在本實(shí)施例中,各個(gè)模塊的功能可以如下:
[0081] (1)瀏覽器注入模塊;
[0082] 瀏覽器注入模塊,主要用于在接收到瀏覽器的數(shù)據(jù)請(qǐng)求消息之后,立即暫停瀏覽 器的請(qǐng)求,并將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊,以確定該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù) 據(jù)是否為一個(gè)廣告的鏈接,并等待檢測(cè)攔截模塊返回檢測(cè)結(jié)果,如果返回的檢測(cè)結(jié)果指示 該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)是一個(gè)廣告鏈接(比如js文件或swf文件)等,則返回一個(gè) 數(shù)據(jù)量較小的空白文件給瀏覽器,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
[0083] (2)檢測(cè)攔截模塊;
[0084] 檢測(cè)攔截模塊,主要用于接收瀏覽器注入模塊轉(zhuǎn)發(fā)的數(shù)據(jù)請(qǐng)求消息,比如URL,然 后調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,利用廣告規(guī)則庫(kù)對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行檢測(cè),以判斷是 否是一個(gè)廣告鏈接,并返回檢測(cè)結(jié)果給瀏覽器注入模塊。
[0085] 需說(shuō)明的是,由于判斷的標(biāo)準(zhǔn)都在廣告規(guī)則庫(kù)里,因此在系統(tǒng)啟動(dòng)時(shí),該檢測(cè)攔截 模塊需要去解析廣告規(guī)則庫(kù),以及探測(cè)該廣告規(guī)則庫(kù)的更新情況,即請(qǐng)求新的廣告規(guī)則庫(kù), 這樣,才能更精確地對(duì)廣告進(jìn)行攔截。
[0086] 其中,廣告規(guī)則庫(kù)可以保存在服務(wù)端,由服務(wù)端進(jìn)行維護(hù),例如,具體可以在服務(wù) 端設(shè)置一個(gè)"后臺(tái)廣告規(guī)則庫(kù)搜集模塊",用于日常的URL源代碼分析工作,提取這些URL里 面的廣告鏈接,生成廣告庫(kù)規(guī)則下發(fā)到客戶(hù)端供檢測(cè)攔截模塊使用。
[0087] (3)用戶(hù)通知模塊;
[0088] 用戶(hù)通知模塊,主要用于在檢測(cè)攔截模塊攔截到廣告之后,告知用戶(hù)攔截結(jié)果和 攔截的詳細(xì)信息,以便用戶(hù)判斷這些攔截是否合適,此后,用戶(hù)還可以通過(guò)查看日志等方式 來(lái)查看這些攔截信息。
[0089] 基于上述客戶(hù)端的結(jié)構(gòu),如圖3所示,一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法,具體流程可 以如下:
[0090] 301、瀏覽器注入模塊接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,比如URL等,并 將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊。
[0091] 其中,該數(shù)據(jù)請(qǐng)求消息可以請(qǐng)求網(wǎng)頁(yè)展現(xiàn)各種資源文件。
[0092] 例如,瀏覽器注入模塊接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息后,立即暫停該 數(shù)據(jù)請(qǐng)求消息的請(qǐng)求,并將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊,以確定該數(shù)據(jù)請(qǐng)求消息 所請(qǐng)求的數(shù)據(jù)是否為一個(gè)廣告的鏈接,并等待檢測(cè)攔截模塊返回檢測(cè)結(jié)果。
[0093] 302、檢測(cè)攔截模塊根據(jù)步驟301中接收到的數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序 編程接口。
[0094] 其中,應(yīng)用程序編程接口包括HOOK函數(shù),比如,具體可以在應(yīng)用程序編程接口的 代碼的頭部添加 HOOK函數(shù)的代碼。
[0095] 303、檢測(cè)攔截模塊利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消 息即將請(qǐng)求的數(shù)據(jù)是否為廣告鏈接,若是,則返回指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 廣告鏈接的檢測(cè)結(jié)果給瀏覽器注入模塊;若否,則返回指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)不是廣告鏈接的檢測(cè)結(jié)果給瀏覽器注入模塊。
[0096] 304、瀏覽器注入模塊接收檢測(cè)結(jié)果,若該檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求 的數(shù)據(jù)為廣告鏈接,則返回一個(gè)數(shù)據(jù)量較小的空白文件(比如具體可以是一個(gè)空白的圖片 文件)給瀏覽器,以作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),此時(shí),還可以將該攔截結(jié)果和攔截 的詳細(xì)信息發(fā)送給用戶(hù)通知模塊;否則,若該檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)不是廣告鏈接,則繼續(xù)執(zhí)行該數(shù)據(jù)請(qǐng)求消息的請(qǐng)求。
[0097] 305、可選的,用戶(hù)通知模塊可以接收瀏覽器注入模塊發(fā)送的攔截結(jié)果和攔截的詳 細(xì)信息,并將該攔截結(jié)果和攔截的詳細(xì)信息通知給用戶(hù),以便用戶(hù)判斷這些攔截是否合適。
[0098] 此后,用戶(hù)還可以通過(guò)查看日志等方式來(lái)查看這些攔截信息。
[0099] 由上可知,由上可知,本實(shí)施例采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根 據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函 數(shù),利用該應(yīng)用程序編程接口中的鉤子函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告 鏈接時(shí),返回一個(gè)空白的文件給瀏覽器,以替換掉原數(shù)據(jù)請(qǐng)求消息所要請(qǐng)求的數(shù)據(jù),從而實(shí) 現(xiàn)對(duì)攔截廣告的目的;由于基本上所有瀏覽器在請(qǐng)求數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口, 因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn)題,無(wú)需特意為不同的瀏覽器開(kāi)發(fā)特定的廣告 攔截插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn)靈活。
[0100] 實(shí)施例四、
[0101] 在實(shí)施例二和三的基礎(chǔ)上,進(jìn)一步的,為了提高其靈活性和用戶(hù)體驗(yàn)質(zhì)量,還可以 根據(jù)數(shù)據(jù)請(qǐng)求消息具體所請(qǐng)求的數(shù)據(jù)的類(lèi)型而采用不同的過(guò)濾方式,以下將同樣以廣告攔 截為例作詳細(xì)說(shuō)明。
[0102] 與實(shí)施例二和三中的客戶(hù)端結(jié)構(gòu)相同,如圖2a所示,該客戶(hù)端可以包括瀏覽器注 入模塊、檢測(cè)攔截模塊和用戶(hù)通知模塊。在本實(shí)施例中,各個(gè)模塊的功能可以如下:
[0103] (1)瀏覽器注入模塊;
[0104] 瀏覽器注入模塊,主要用于在接收到瀏覽器的數(shù)據(jù)請(qǐng)求消息之后,立即暫停瀏覽 器的請(qǐng)求,并將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊,以確定該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù) 據(jù)是否為一個(gè)廣告的鏈接,并等待檢測(cè)攔截模塊返回檢測(cè)結(jié)果,如果返回的檢測(cè)結(jié)果指示 該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)是一個(gè)廣告鏈接且為非圖片鏈接,則直接阻止該數(shù)據(jù)請(qǐng)求 消息;而如果返回的檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)是一個(gè)廣告鏈接且為圖 片鏈接,則返回一個(gè)數(shù)據(jù)量較小的空白圖片文件給瀏覽器,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的 數(shù)據(jù)。
[0105] (2)檢測(cè)攔截模塊;
[0106] 檢測(cè)攔截模塊,主要用于接收瀏覽器注入模塊轉(zhuǎn)發(fā)的數(shù)據(jù)請(qǐng)求消息,比如URL,然 后調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,利用廣告規(guī)則庫(kù)對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行檢測(cè),以判斷是 否是一個(gè)廣告鏈接,且確定該廣告鏈接的類(lèi)型,比如是圖片鏈接還是非圖片鏈接等,然后返 回檢測(cè)結(jié)果給瀏覽器注入模塊。
[0107] 需說(shuō)明的是,由于判斷的標(biāo)準(zhǔn)都在廣告規(guī)則庫(kù)里,因此在系統(tǒng)啟動(dòng)時(shí),該檢測(cè)攔截 模塊需要去解析廣告規(guī)則庫(kù),以及探測(cè)該廣告規(guī)則庫(kù)的更新情況,即請(qǐng)求新的廣告規(guī)則庫(kù), 這樣,才能更精確地對(duì)廣告進(jìn)行攔截。
[0108] 其中,廣告規(guī)則庫(kù)可以保存在服務(wù)端,由服務(wù)端進(jìn)行維護(hù),例如,具體可以在服務(wù) 端設(shè)置一個(gè)"后臺(tái)廣告規(guī)則庫(kù)搜集模塊",用于日常的URL源代碼分析工作,提取這些URL里 面的廣告鏈接,生成廣告庫(kù)規(guī)則下發(fā)到客戶(hù)端供檢測(cè)攔截模塊使用。
[0109] (3)用戶(hù)通知模塊;
[0110] 用戶(hù)通知模塊,主要用于在檢測(cè)攔截模塊攔截到廣告之后,告知用戶(hù)攔截結(jié)果和 攔截的詳細(xì)信息,以便用戶(hù)判斷這些攔截是否合適,此后,用戶(hù)還可以通過(guò)查看日志等方式 來(lái)查看這些攔截信息。
[0111] 基于上述客戶(hù)端的結(jié)構(gòu),如圖4所示,一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法,具體流程可 以如下:
[0112] 401、瀏覽器注入模塊接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,比如URL等,并 將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊。
[0113] 其中,該數(shù)據(jù)請(qǐng)求消息可以請(qǐng)求網(wǎng)頁(yè)展現(xiàn)各種資源文件。
[0114] 例如,瀏覽器注入模塊接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息后,立即暫停該 數(shù)據(jù)請(qǐng)求消息的請(qǐng)求,并將該數(shù)據(jù)請(qǐng)求消息轉(zhuǎn)發(fā)給檢測(cè)攔截模塊,以確定該數(shù)據(jù)請(qǐng)求消息 所請(qǐng)求的數(shù)據(jù)是否為一個(gè)廣告的鏈接,并等待檢測(cè)攔截模塊返回檢測(cè)結(jié)果。
[0115] 402、檢測(cè)攔截模塊根據(jù)步驟401中接收到的數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序 編程接口。
[0116] 其中,應(yīng)用程序編程接口包括HOOK函數(shù),比如,具體可以在應(yīng)用程序編程接口的 代碼的頭部添加 HOOK函數(shù)的代碼。
[0117] 403、檢測(cè)攔截模塊利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消 息即將請(qǐng)求的數(shù)據(jù)是否為廣告鏈接,若是,則返回指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 廣告鏈接的檢測(cè)結(jié)果給瀏覽器注入模塊,并在該檢測(cè)結(jié)果中指示該廣告鏈接的類(lèi)型,比如 是圖片鏈接或非圖片鏈接等;若否,則返回指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)不是廣告 鏈接的檢測(cè)結(jié)果給瀏覽器注入模塊。
[0118] 404、瀏覽器注入模塊接收檢測(cè)結(jié)果,若該檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求 的數(shù)據(jù)為廣告鏈接且為非圖片鏈接,則直接阻止該數(shù)據(jù)請(qǐng)求消息;若該檢測(cè)結(jié)果指示該數(shù) 據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為圖片鏈接,則返回一個(gè)數(shù)據(jù)量較小的空白圖片 文件給瀏覽器,以作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù);此時(shí),還可以將該攔截結(jié)果和攔截的 詳細(xì)信息發(fā)送給用戶(hù)通知模塊;否則,若該檢測(cè)結(jié)果指示該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 不是廣告鏈接,則繼續(xù)執(zhí)行該數(shù)據(jù)請(qǐng)求消息的請(qǐng)求。
[0119] 405、可選的,用戶(hù)通知模塊可以接收瀏覽器注入模塊發(fā)送的攔截結(jié)果和攔截的詳 細(xì)信息,并將該攔截結(jié)果和攔截的詳細(xì)信息通知給用戶(hù),以便用戶(hù)判斷這些攔截是否合適。
[0120] 此后,用戶(hù)還可以通過(guò)查看日志等方式來(lái)查看這些攔截信息。
[0121] 由上可知,由上可知,本實(shí)施例采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根 據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函 數(shù),利用該應(yīng)用程序編程接口中的鉤子函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告 鏈接且為非圖片鏈接時(shí),直接阻止該數(shù)據(jù)請(qǐng)求消息,而確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為廣告鏈接且為圖片鏈接時(shí),則返回一個(gè)空白的文件給瀏覽器,以替換掉原數(shù)據(jù)請(qǐng)求消 息所要請(qǐng)求的數(shù)據(jù),從而實(shí)現(xiàn)對(duì)攔截廣告的目的;由于基本上所有瀏覽器在請(qǐng)求數(shù)據(jù)時(shí)都 會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn)題,無(wú)需特意為不 同的瀏覽器開(kāi)發(fā)特定的廣告攔截插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn)靈活。
[0122] 進(jìn)一步的,由于該方案可以根據(jù)數(shù)據(jù)請(qǐng)求消息具體所請(qǐng)求的數(shù)據(jù)的類(lèi)型而采用不 同的過(guò)濾方式,所以可以更好地提高靈活性和用戶(hù)體驗(yàn)質(zhì)量。
[0123] 實(shí)施例五、
[0124] 為了更好地實(shí)現(xiàn)以上方法,本發(fā)明實(shí)施例還提供一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置, 如圖5所示,該瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置包括接收單元501、調(diào)用單元502和過(guò)濾單元503 ;
[0125] 接收單元501,用于接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息;
[0126] 該數(shù)據(jù)請(qǐng)求消息具體可以為鏈接地址,比如URL等。
[0127] 調(diào)用單元502,用于根據(jù)接收單元501接收到的數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程 序編程接口,比如調(diào)用send或recv等等;
[0128] 其中,應(yīng)用程序編程接口包括HOOK函數(shù),例如,具體可以在應(yīng)用程序編程接口的 代碼的頭部添加 HOOK函數(shù)的代碼。
[0129] 過(guò)濾單元503,用于利用調(diào)用單元502調(diào)用的應(yīng)用程序編程接口中的鉤子函數(shù),對(duì) 該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
[0130] 其中,過(guò)濾的方式可以有多種,比如,如果檢測(cè)到該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為預(yù)置的需要攔截的數(shù)據(jù)時(shí),則可以直接阻止該數(shù)據(jù)請(qǐng)求消息或者返回一個(gè)空白文件,以 替換掉該數(shù)據(jù)請(qǐng)求消息原來(lái)所請(qǐng)求的數(shù)據(jù),等等。例如,具體可以如下:
[0131] 過(guò)濾單元503,具體可以用于利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù) 據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),阻止該數(shù)據(jù)請(qǐng)求消息。
[0132] 其中,該需要攔截的數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0133] 例如,以廣告攔截為例,當(dāng)過(guò)濾單元503利用該應(yīng)用程序編程接口中的Η00Κ函數(shù), 確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接時(shí),則可以直接阻止該數(shù)據(jù)請(qǐng)求消息。
[0134] 或者,過(guò)濾單元503,具體可以用于利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定 該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)請(qǐng)求消息返回一 個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
[0135] 其中,該需要攔截的數(shù)據(jù)可根據(jù)以實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0136] 例如,以廣告攔截為例,當(dāng)過(guò)濾單元503利用該應(yīng)用程序編程接口中的Η00Κ函數(shù), 確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接(比如js文件,swf文件等)時(shí),則可以根 據(jù)該數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),即替換掉該數(shù) 據(jù)請(qǐng)求消息原來(lái)所請(qǐng)求的廣告數(shù)據(jù),這樣,瀏覽器就會(huì)以為已經(jīng)下載到了該廣告數(shù)據(jù),從而 起到攔截該廣告數(shù)據(jù)的作用。
[0137] 可選的,為了提高其靈活性和用戶(hù)體驗(yàn)質(zhì)量,還可以根據(jù)數(shù)據(jù)請(qǐng)求消息具體所請(qǐng) 求的數(shù)據(jù)的類(lèi)型而采用不同的過(guò)濾方式,即,過(guò)濾單元503可以包括第一過(guò)濾子單元和第 二過(guò)濾子單元;
[0138] 第一過(guò)濾子單元,用于利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求 消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的第一類(lèi)數(shù)據(jù)時(shí),阻止該數(shù)據(jù)請(qǐng)求消息;
[0139] 第二過(guò)濾子單元,用于利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求 消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的第二類(lèi)數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)請(qǐng)求消息返回一個(gè)空 白文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
[0140] 其中,該需要攔截的數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0141] 例如,還是以廣告攔截為例,其中,需要攔截的第一類(lèi)數(shù)據(jù)可以設(shè)置為"廣告鏈接 且為非圖片鏈接",需要攔截的第二類(lèi)數(shù)據(jù)可以設(shè)置為"廣告鏈接且為圖片鏈接",則:
[0142] 第一過(guò)濾子單元,具體用于利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為非圖片鏈接時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息;
[0143] 第二過(guò)濾子單元,具體用于利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為圖片鏈接時(shí),據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白 圖片文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),即用該空白圖片文件替換掉該數(shù)據(jù)請(qǐng)求消 息原來(lái)所請(qǐng)求的廣告圖片,這樣,瀏覽器就會(huì)以為已經(jīng)下載到了該廣告圖片,從而起到攔截 該廣告圖片的作用。
[0144] 需說(shuō)明的是,如果檢測(cè)到該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)不是預(yù)置的需要攔截的 數(shù)據(jù),則過(guò)濾單元503可以繼續(xù)根據(jù)該數(shù)據(jù)請(qǐng)求消息獲取需要請(qǐng)求的數(shù)據(jù),在此不再贅述。
[0145] 此外,可選的,為了提高用戶(hù)體驗(yàn)質(zhì)量,還可以將過(guò)濾結(jié)果通知給用戶(hù),比如,可以 告知用戶(hù)過(guò)濾對(duì)象,過(guò)濾的詳細(xì)信息等等。即該瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置還可以包括通知 單元;
[0146] 通知單元,用于返回過(guò)濾結(jié)果給用戶(hù)。
[0147] 例如,以廣告攔截為例,通知單元具體可以用于返回?cái)r截結(jié)果和攔截的詳細(xì)信息 等過(guò)濾結(jié)果給用戶(hù),以便用戶(hù)判斷這些攔截是否合適,此后,用戶(hù)還可以通過(guò)查看日志等方 式來(lái)查看這些過(guò)濾結(jié)果,在此不再贅述。
[0148] 具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立實(shí)體來(lái)實(shí)現(xiàn),也可以進(jìn)行任意組合,作為 同一或若干個(gè)實(shí)體來(lái)實(shí)現(xiàn),比如以實(shí)施例二、三和四中的瀏覽器注入模塊、檢測(cè)攔截模塊和 用戶(hù)通知模塊的形式來(lái)實(shí)現(xiàn),等等,在此不再贅述。
[0149] 該瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置具體可以集成在客戶(hù)端中,該客戶(hù)端可以裝載在終端 中,該終端具體可以為智能手機(jī)、平板電腦、電子書(shū)閱讀器、MP3播放器、MP4播放器、膝上型 便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
[0150] 由上可知,本實(shí)施例的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置中的接收單元501可以接收用戶(hù) 通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,并由調(diào)用單元502根據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用 程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函數(shù),然后由過(guò)濾單元503利用該應(yīng)用 程序編程接口中的鉤子函數(shù),對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾;由于基本上所有瀏覽器在請(qǐng)求 數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容性問(wèn)題,無(wú)需 特意為不同的瀏覽器開(kāi)發(fā)特定的插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小,實(shí)現(xiàn)靈活。
[0151] 實(shí)施例六、
[0152] 相應(yīng)的,本發(fā)明實(shí)施例還提供一種通信系統(tǒng),包括本發(fā)明實(shí)施例提供的任一種瀏 覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其中,該瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置具體可參見(jiàn)實(shí)施例五,例如,該 瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置具體可以集成在客戶(hù)端中,如下:
[0153] 客戶(hù)端,用于接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息;根據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào) 用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,應(yīng)用程序編程接口包括HOOK函數(shù);利用該應(yīng)用程序編 程接口中的HOOK函數(shù),對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾,具體可參見(jiàn)前面的實(shí)施例,在此不再 贅述。
[0154] 此外,該通信系統(tǒng)還可以包括服務(wù)端,如下:
[0155] 服務(wù)端,用于為客戶(hù)端提供過(guò)濾的規(guī)則。
[0156] 則客戶(hù)端,具體可以用于從服務(wù)端獲取過(guò)濾規(guī)則,利用該應(yīng)用程序編程接口中的 HOOK函數(shù),按照該過(guò)濾規(guī)則對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
[0157] 比如,以廣告攔截為例,該服務(wù)端可以保存和維護(hù)廣告規(guī)則庫(kù),并將該廣告規(guī)則庫(kù) 提供給客戶(hù)端使用,而客戶(hù)端,則可以利用調(diào)用的應(yīng)用程序編程接口中的Η00Κ函數(shù),根據(jù) 廣告規(guī)則庫(kù)對(duì)數(shù)據(jù)請(qǐng)求消息進(jìn)行檢測(cè),以確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)是否為廣告 鏈接,并根據(jù)檢測(cè)結(jié)果對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行處理,具體可參見(jiàn)前面的實(shí)施例,在此不再贅 述。
[0158] 該通信系統(tǒng)可以實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置同樣的有 益效果,在此不再贅述。
[0159] 實(shí)施例七、
[0160] 相應(yīng)的,本發(fā)明實(shí)施例還提供一種終端,如圖6所示,該終端可以包括射頻(RF, Radio Frequency)電路601、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器602、輸 入單元603、顯示單元604、傳感器605、音頻電路606、無(wú)線保真(WiFi,Wireless Fidelity) 模塊607、包括有一個(gè)或者一個(gè)以上處理核心的處理器608、以及電源609等部件。本領(lǐng)域 技術(shù)人員可以理解,圖6中示出的終端結(jié)構(gòu)并不構(gòu)成對(duì)終端的限定,可以包括比圖示更多 或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
[0161] RF電路601可用于收發(fā)信息或通話過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站 的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器608處理;另外,將涉及上行的數(shù)據(jù)發(fā) 送給基站。通常,RF電路601包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振 蕩器、用戶(hù)身份模塊(SIM, Subscriber Identity Module)卡、收發(fā)信機(jī)、稱(chēng)合器、低噪聲放 大器(LNA,Low Noise Amplifier)、雙工器等。此外,RF電路601還可以通過(guò)無(wú)線通信與 網(wǎng)絡(luò)和其他設(shè)備通信。所述無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移 動(dòng)通訊系統(tǒng)(GSM, Global System of Mobile communication)、通用分組無(wú)線服務(wù)(GPRS, General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、 寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長(zhǎng)期演進(jìn)(LTE,Long Term Evolution)、電子郵件、短消息服務(wù)(SMS,Short Messaging Service)等。
[0162] 存儲(chǔ)器602可用于存儲(chǔ)軟件程序以及模塊,處理器608通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器 602的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器602可主要包括 存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程 序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)終端的使用所創(chuàng)建的 數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器602可以包括高速隨機(jī)存取存儲(chǔ)器,還可 以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器 件。相應(yīng)地,存儲(chǔ)器602還可以包括存儲(chǔ)器控制器,以提供處理器608和輸入單元603對(duì)存 儲(chǔ)器602的訪問(wèn)。
[0163] 輸入單元603可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶(hù)設(shè)置以及功能 控制有關(guān)的鍵盤(pán)、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,在一個(gè)具體的實(shí)施例 中,輸入單元603可包括觸敏表面以及其他輸入設(shè)備。觸敏表面,也稱(chēng)為觸摸顯示屏或者觸 控板,可收集用戶(hù)在其上或附近的觸摸操作(比如用戶(hù)使用手指、觸筆等任何適合的物體或 附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝 置??蛇x的,觸敏表面可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢 測(cè)用戶(hù)的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從 觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器608,并能接收處理 器608發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多 種類(lèi)型實(shí)現(xiàn)觸敏表面。除了觸敏表面,輸入單元603還可以包括其他輸入設(shè)備。具體地, 其他輸入設(shè)備可以包括但不限于物理鍵盤(pán)、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡 球、鼠標(biāo)、操作桿等中的一種或多種。
[0164] 顯示單元604可用于顯示由用戶(hù)輸入的信息或提供給用戶(hù)的信息以及終端的 各種圖形用戶(hù)接口,這些圖形用戶(hù)接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來(lái)構(gòu) 成。顯示單元604可包括顯示面板,可選的,可以采用液晶顯示器(IXD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來(lái)配置顯示面 板。進(jìn)一步的,觸敏表面可覆蓋顯示面板,當(dāng)觸敏表面檢測(cè)到在其上或附近的觸摸操作后, 傳送給處理器608以確定觸摸事件的類(lèi)型,隨后處理器608根據(jù)觸摸事件的類(lèi)型在顯示面 板上提供相應(yīng)的視覺(jué)輸出。雖然在圖6中,觸敏表面與顯示面板是作為兩個(gè)獨(dú)立的部件來(lái) 實(shí)現(xiàn)輸入和輸入功能,但是在某些實(shí)施例中,可以將觸敏表面與顯示面板集成而實(shí)現(xiàn)輸入 和輸出功能。
[0165] 終端還可包括至少一種傳感器605,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。 具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線 的明暗來(lái)調(diào)節(jié)顯示面板的亮度,接近傳感器可在終端移動(dòng)到耳邊時(shí),關(guān)閉顯示面板和/或 背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速 度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫堅(jiān)屏切 換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于終端還可 配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
[0166] 音頻電路606、揚(yáng)聲器,傳聲器可提供用戶(hù)與終端之間的音頻接口。音頻電路606 可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器,由揚(yáng)聲器轉(zhuǎn)換為聲音信號(hào)輸出;另 一方面,傳聲器將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路606接收后轉(zhuǎn)換為音頻數(shù)據(jù), 再將音頻數(shù)據(jù)輸出處理器608處理后,經(jīng)RF電路601以發(fā)送給比如另一終端,或者將音頻 數(shù)據(jù)輸出至存儲(chǔ)器602以便進(jìn)一步處理。音頻電路606還可能包括耳塞插孔,以提供外設(shè) 耳機(jī)與終端的通信。
[0167] WiFi屬于短距離無(wú)線傳輸技術(shù),終端通過(guò)WiFi模塊607可以幫助用戶(hù)收發(fā)電子郵 件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶(hù)提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。雖然圖6示出了 WiFi模塊607,但是可以理解的是,其并不屬于終端的必須構(gòu)成,完全可以根據(jù)需要在不改 變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0168] 處理器608是終端的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分, 通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器602內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器602 內(nèi)的數(shù)據(jù),執(zhí)行終端的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控。可選的,處理器608 可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器608可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其 中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線 通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器也可以不集成到處理器608中。
[0169] 終端還包括給各個(gè)部件供電的電源609 (比如電池),優(yōu)選的,電源可以通過(guò)電源管 理系統(tǒng)與處理器608邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理 等功能。電源609還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢 測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
[0170] 盡管未示出,終端還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí)施 例中,終端中的處理器608會(huì)按照如下的指令,將一個(gè)或一個(gè)以上的應(yīng)用程序的進(jìn)程對(duì)應(yīng) 的可執(zhí)行文件加載到存儲(chǔ)器602中,并由處理器608來(lái)運(yùn)行存儲(chǔ)在存儲(chǔ)器602中的應(yīng)用程 序,從而實(shí)現(xiàn)各種功能:
[0171] 盡管未示出,終端還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí)施 例中,終端的顯示單元是觸摸屏顯示器,終端還包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程 序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器 執(zhí)行述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:
[0172] 接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息;根據(jù)該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng) 用程序編程接口,其中,應(yīng)用程序編程接口包括HOOK函數(shù);利用該應(yīng)用程序編程接口中的 HOOK函數(shù),對(duì)該數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
[0173] 其中,過(guò)濾的方式可以有多種,比如,如果檢測(cè)到該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為預(yù)置的需要攔截的數(shù)據(jù)時(shí),則可以直接阻止該數(shù)據(jù)請(qǐng)求消息或者返回一個(gè)空白文件,以 替換掉該數(shù)據(jù)請(qǐng)求消息原來(lái)所請(qǐng)求的數(shù)據(jù),等等。例如,具體可以如下:
[0174] (1)利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),阻止該數(shù)據(jù)請(qǐng)求消息。
[0175] 其中,該需要攔截的數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0176] 例如,以廣告攔截為例,當(dāng)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接時(shí),則可以直接阻止該數(shù)據(jù)請(qǐng)求消息。
[0177] (2)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求 消息所請(qǐng)求的數(shù)據(jù)。
[0178] 其中,該需要攔截的數(shù)據(jù)可根據(jù)以實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0179] 例如,以廣告攔截為例,當(dāng)利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接(比如js文件,SWf文件等)時(shí),則可以根據(jù)該數(shù)據(jù)請(qǐng) 求消息返回一個(gè)空白文件,作為該數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),即替換掉該數(shù)據(jù)請(qǐng)求消息 原來(lái)所請(qǐng)求的廣告數(shù)據(jù),這樣,瀏覽器就會(huì)以為已經(jīng)下載到了該廣告數(shù)據(jù),從而起到攔截該 廣告數(shù)據(jù)的作用。
[0180] (3)可選的,為了提高其靈活性和用戶(hù)體驗(yàn)質(zhì)量,還可以根據(jù)數(shù)據(jù)請(qǐng)求消息具體所 請(qǐng)求的數(shù)據(jù)的類(lèi)型而采用不同的過(guò)濾方式,例如,還可以如下方式來(lái)進(jìn)行過(guò)濾:
[0181] A、利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的第一類(lèi)數(shù)據(jù)時(shí),阻止該數(shù)據(jù)請(qǐng)求消息;
[0182] B、利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的第二類(lèi)數(shù)據(jù)時(shí),根據(jù)該數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為該數(shù) 據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
[0183] 其中,該需要攔截的數(shù)據(jù)可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置為廣 告鏈接、游戲鏈接或不明插件安裝鏈接等等。
[0184] 例如,還是以廣告攔截為例,其中,需要攔截的第一類(lèi)數(shù)據(jù)可以設(shè)置為"廣告鏈接 且為非圖片鏈接",需要攔截的第二類(lèi)數(shù)據(jù)可以設(shè)置為"廣告鏈接且為圖片鏈接",則上述步 驟具體可以如下:
[0185] 利用該應(yīng)用程序編程接口中的HOOK函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為廣告鏈接且為非圖片鏈接時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息;
[0186] 利用該應(yīng)用程序編程接口中的Η00Κ函數(shù),確定該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù) 為廣告鏈接且為圖片鏈接時(shí),據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白圖片文件,作為該數(shù)據(jù)請(qǐng) 求消息所請(qǐng)求的數(shù)據(jù),即用該空白圖片文件替換掉該數(shù)據(jù)請(qǐng)求消息原來(lái)所請(qǐng)求的廣告圖 片,這樣,瀏覽器就會(huì)以為已經(jīng)下載到了該廣告圖片,從而起到攔截該廣告圖片的作用。
[0187] 需說(shuō)明的是,如果檢測(cè)到該數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)不是預(yù)置的需要攔截的 數(shù)據(jù),則繼續(xù)根據(jù)該數(shù)據(jù)請(qǐng)求消息獲取需要請(qǐng)求的數(shù)據(jù),在此不再贅述。
[0188] 此外,可選的,還可以返回過(guò)濾結(jié)果給用戶(hù),例如,以廣告攔截為例,具體可以返回 攔截結(jié)果和攔截的詳細(xì)信息等過(guò)濾結(jié)果給用戶(hù),以便用戶(hù)判斷這些攔截是否合適,此后,用 戶(hù)還可以通過(guò)查看日志等方式來(lái)查看這些過(guò)濾結(jié)果,在此不再贅述。
[0189] 由上可知,本實(shí)施例的終端采用接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息,根據(jù) 該數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,其中,該應(yīng)用程序編程接口包括鉤子函數(shù), 利用該應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾;由于基本上所有 瀏覽器在請(qǐng)求數(shù)據(jù)時(shí)都會(huì)使用應(yīng)用程序編程接口,因此,該方案兼容性較好,不會(huì)存在兼容 性問(wèn)題,無(wú)需特意為不同的瀏覽器開(kāi)發(fā)特定的插件,不僅無(wú)需后期維護(hù),而且開(kāi)發(fā)量較小, 實(shí)現(xiàn)靈活。
[0190] 本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存 儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(R〇M,Read Only Memory)、隨機(jī)存取記憶體(RAM, Random Access Memory)、磁盤(pán)或光盤(pán)等。
[0191] 以上對(duì)本發(fā)明實(shí)施例所提供的一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法、裝置和系統(tǒng)進(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ō)明書(shū)內(nèi)容不應(yīng) 理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1. 一種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾方法,其特征在于,包括: 接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息; 根據(jù)所述數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,所述應(yīng)用程序編程接口包括鉤 子函數(shù); 利用所述應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述應(yīng)用程序編程接口中的鉤 子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾,包括: 利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 預(yù)置的需要攔截的數(shù)據(jù)時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述應(yīng)用程序編程接口中的鉤 子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾,包括: 利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 預(yù)置的需要攔截的數(shù)據(jù)時(shí),根據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為所述數(shù)據(jù)請(qǐng)求 消息所請(qǐng)求的數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述應(yīng)用程序編程接口中的鉤 子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾,包括: 利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 預(yù)置的需要攔截的第一類(lèi)數(shù)據(jù)時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息; 利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為 預(yù)置的需要攔截的第二類(lèi)數(shù)據(jù)時(shí),根據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為所述數(shù) 據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于, 所述利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的第一類(lèi)數(shù)據(jù)時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息,具體為:利用所述應(yīng)用程序 編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為非圖片鏈 接時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息; 所述利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù) 據(jù)為預(yù)置的需要攔截的第二類(lèi)數(shù)據(jù)時(shí),根據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白文件,作為所 述數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù),具體為:利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所 述數(shù)據(jù)請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為圖片鏈接時(shí),根據(jù)所述數(shù)據(jù)請(qǐng)求消息返回 一個(gè)空白圖片文件,作為所述數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
6. 根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,所述利用所述應(yīng)用程序編程接 口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行過(guò)濾之后,還包括: 返回過(guò)濾結(jié)果給用戶(hù)。
7. -種瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其特征在于,包括: 接收單元,用于接收用戶(hù)通過(guò)瀏覽器發(fā)送的數(shù)據(jù)請(qǐng)求消息; 調(diào)用單元,用于根據(jù)所述數(shù)據(jù)請(qǐng)求消息調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,所述應(yīng)用程序 編程接口包括鉤子函數(shù); 過(guò)濾單元,用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),對(duì)所述數(shù)據(jù)請(qǐng)求消息進(jìn)行 過(guò)濾。
8. 根據(jù)權(quán)利要求7所述的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其特征在于, 所述過(guò)濾單元,具體用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng) 求消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息。
9. 根據(jù)權(quán)利要求7所述的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其特征在于, 所述過(guò)濾單元,具體用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng) 求消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的數(shù)據(jù)時(shí),根據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白 文件,作為所述數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
10. 根據(jù)權(quán)利要求7所述的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其特征在于,所述過(guò)濾單元包括 第一過(guò)濾子單元和第二過(guò)濾子單元; 第一過(guò)濾子單元,用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求 消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的第一類(lèi)數(shù)據(jù)時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息; 第二過(guò)濾子單元,用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù)請(qǐng)求 消息即將請(qǐng)求的數(shù)據(jù)為預(yù)置的需要攔截的第二類(lèi)數(shù)據(jù)時(shí),根據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè) 空白文件,作為所述數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
11. 根據(jù)權(quán)利要求10所述的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其特征在于, 第一過(guò)濾子單元,具體用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為非圖片鏈接時(shí),阻止所述數(shù)據(jù)請(qǐng)求消息; 第二過(guò)濾子單元,具體用于利用所述應(yīng)用程序編程接口中的鉤子函數(shù),確定所述數(shù)據(jù) 請(qǐng)求消息即將請(qǐng)求的數(shù)據(jù)為廣告鏈接且為圖片鏈接時(shí),據(jù)所述數(shù)據(jù)請(qǐng)求消息返回一個(gè)空白 圖片文件,作為所述數(shù)據(jù)請(qǐng)求消息所請(qǐng)求的數(shù)據(jù)。
12. 根據(jù)權(quán)利要求7至11任一項(xiàng)所述的瀏覽器頁(yè)面數(shù)據(jù)過(guò)濾裝置,其特征在于,還包括 通知單元; 通知單元,用于返回過(guò)濾結(jié)果給用戶(hù)。
13. -種通信系統(tǒng),其特征在于,包括權(quán)利要求7至12任一項(xiàng)所述的瀏覽器頁(yè)面數(shù)據(jù)過(guò) 濾裝置。
【文檔編號(hào)】G06F17/30GK104123120SQ201310142674
【公開(kāi)日】2014年10月29日 申請(qǐng)日期:2013年4月23日 優(yōu)先權(quán)日:2013年4月23日
【發(fā)明者】童磊 申請(qǐng)人:騰訊科技(深圳)有限公司