版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、深圳北大青鳥嘉華學(xué)校深圳北大青鳥嘉華學(xué)校–以就業(yè)為導(dǎo)向,學(xué)習(xí)零起點(diǎn),是深圳高端IT職業(yè)技能培訓(xùn)學(xué)校領(lǐng)導(dǎo)品牌!培訓(xùn)項(xiàng)目:高端軟件、網(wǎng)絡(luò)工程師(可通過搜索引擎檢索“深圳北大青鳥嘉華學(xué)校”進(jìn)入學(xué)校網(wǎng)站)廣告屏蔽軟件開發(fā)技術(shù)方案廣告屏蔽軟件開發(fā)技術(shù)方案【摘要】廣告、垃圾網(wǎng)頁充斥Inter,給用戶瀏覽造成了極大的不方便,而且極大的消耗了網(wǎng)絡(luò)的帶寬以及終端用戶系統(tǒng)的資源。本技術(shù)方案在參考研究比較大量廣告屏蔽技術(shù)后,提出了一種基于關(guān)鍵詞列表以及BHO
2、(BrowserHelperObjects)的垃圾網(wǎng)頁過濾方案?!娟P(guān)鍵詞】垃圾網(wǎng)頁廣告屏蔽BHOHOOK一、一、概述概述目前網(wǎng)絡(luò)上流行的廣告技術(shù)主要有分為以下三種:彈出式窗口,浮動(dòng)式窗口以及內(nèi)嵌式廣告圖片。大量不必要的信息占滿了整個(gè)顯示區(qū)域,使得有效信息的獲取變得很難。這些垃圾網(wǎng)頁主要都是依靠Javript(簡稱JS)實(shí)現(xiàn)的。這種腳本語言是在客戶端下載完成后,由客戶端的JVM解釋執(zhí)行的。因此它是一種客戶端執(zhí)行的語言,即runatclie
3、nt。其中,彈出式與浮動(dòng)式窗口主要是由window.open()或者window.showModelessDialog()等創(chuàng)建新窗口等命令完成的。而內(nèi)嵌式廣告圖片則是由其編寫的一些特效函數(shù)做到的。和樣式表文件(CSS)相似,這些運(yùn)行的代碼未必直接寫道用戶所訪問的網(wǎng)頁之中,他可以通過如形式的連接隱藏在后臺,直接對所下載到的HTML文檔進(jìn)行分析并不能完全有效的屏蔽這些語句。接下來將對國內(nèi)外研究現(xiàn)狀具體的實(shí)現(xiàn)技術(shù)進(jìn)行敘述。二、二、國內(nèi)外研究
4、現(xiàn)狀國內(nèi)外研究現(xiàn)狀垃圾網(wǎng)頁過濾技術(shù)發(fā)展到現(xiàn)在已經(jīng)很成熟了,各大公司的產(chǎn)品的準(zhǔn)確率和招回率都已經(jīng)能達(dá)到很高的水準(zhǔn)。目前在這個(gè)領(lǐng)域比較領(lǐng)先也比較流行的幾款軟件有MicrosoftIE6.0中自帶的網(wǎng)頁過濾組件,Maxthon公司的Maxthon以及MyIE2系列瀏覽器中附加的垃圾網(wǎng)頁過濾插件,GoogleToolbar也具有網(wǎng)頁過濾功能;國內(nèi)在這領(lǐng)域的軟件也有很多,如3721上網(wǎng)助手,雅虎助手以及百度工具欄都有這方面的功能。在大多數(shù)軟件中用
5、戶都可以設(shè)置網(wǎng)頁過濾的級別,如只過濾彈出網(wǎng)頁,過濾浮動(dòng)窗口,或者過濾所有的廣告,包括頁面當(dāng)中的flash動(dòng)畫以及Gif動(dòng)畫。由于上述公司的實(shí)現(xiàn)技術(shù)相對保密,在相對比較短的時(shí)間內(nèi)很難了解到他們實(shí)現(xiàn)的核心技術(shù)。但通過這幾天對這幾款軟件的使用與分析,發(fā)現(xiàn)他們主要是使用垃圾網(wǎng)頁關(guān)鍵詞列表技術(shù)實(shí)現(xiàn)的。如Maxthon瀏覽器中的廣告獵手就維護(hù)了一個(gè)專家關(guān)鍵詞列表。在下載網(wǎng)頁并執(zhí)行其中的JS代碼時(shí),瀏覽器將對JS指定需要下載的連接進(jìn)行過濾,如有與關(guān)鍵
6、詞列表項(xiàng)符合的鏈接則取消其下載(具體取消方法將在下一章進(jìn)行介紹),并將所取消的連接寫入相應(yīng)的數(shù)據(jù)存儲文件中,并在過濾網(wǎng)頁列表中加入該記錄。用戶只需雙擊該條記錄就可以重新加載該頁面。其他的過濾技術(shù)也都大同小異,在此就不再復(fù)述了。三、三、實(shí)現(xiàn)技術(shù)實(shí)現(xiàn)技術(shù)3.1預(yù)備知識預(yù)備知識經(jīng)過對現(xiàn)存的網(wǎng)絡(luò)產(chǎn)品的比較,本文將采用基于關(guān)鍵詞列表以及BHO的技術(shù)實(shí)現(xiàn)對垃圾網(wǎng)頁的過濾。下面現(xiàn)介紹一下BHO。BHO(BrowserHelperObjects)是瀏覽
7、器幫助對象,是一種實(shí)時(shí)組件對象模型(inprocessCOM)。瀏覽器將會在每次打開的時(shí)候加載它。BHO和瀏覽器運(yùn)行在相同的內(nèi)存區(qū)域,并且可以對窗口及其模型作任意的操作。例如,它可以檢測到瀏覽器的后退、前進(jìn)和文件完成等事件,訪問瀏覽器的菜單和工具欄而且可以進(jìn)行改動(dòng),在當(dāng)前頁面創(chuàng)建窗口等操作,簡而言之,BHO就好像一個(gè)我們派去的間諜,監(jiān)視并控制著瀏覽器的動(dòng)作。因此我們要進(jìn)行IE開發(fā),BHO應(yīng)該是我們最得力的助手。深圳北大青鳥嘉華學(xué)校深圳北
8、大青鳥嘉華學(xué)校–以就業(yè)為導(dǎo)向,學(xué)習(xí)零起點(diǎn),是深圳高端IT職業(yè)技能培訓(xùn)學(xué)校領(lǐng)導(dǎo)品牌!培訓(xùn)項(xiàng)目:高端軟件、網(wǎng)絡(luò)工程師(可通過搜索引擎檢索“深圳北大青鳥嘉華學(xué)?!边M(jìn)入學(xué)校網(wǎng)站)進(jìn)行關(guān)鍵詞匹配,如果有關(guān)鍵詞匹配成功,同樣取消下載。這是為了防止一些特殊的網(wǎng)頁的彈出技術(shù)為我們現(xiàn)在未知的。這個(gè)關(guān)鍵詞列表有系統(tǒng)自帶,并采用WebService技術(shù)定期通過官方網(wǎng)站服務(wù)器定期更新。最后還要將過濾的網(wǎng)址信息交由數(shù)據(jù)存儲模塊保存,以備查閱和招回。3.2.23.
9、2.2浮動(dòng)式窗口過濾模塊浮動(dòng)式窗口過濾模塊浮動(dòng)式窗口主要采用HTML語言中的定義一個(gè)層,并使用JS使其達(dá)到懸浮或者移動(dòng)等效果。它的主要特征有兩個(gè):(1)的position屬性為absolute。(2)其實(shí)現(xiàn)的關(guān)鍵詞中包含setInterval()等函數(shù)。因此我們需要對網(wǎng)頁中的這些關(guān)鍵詞進(jìn)行過濾即可。將其層取消顯示。同時(shí)大多數(shù)的浮動(dòng)窗口都包含動(dòng)畫文件(如.swf、.gif等),我們在實(shí)現(xiàn)關(guān)鍵詞過濾時(shí)同樣需要對這些文件進(jìn)行過濾,并將過濾信息
10、存儲到數(shù)據(jù)模塊。3.2.33.2.3網(wǎng)頁內(nèi)容過濾模塊網(wǎng)頁內(nèi)容過濾模塊網(wǎng)頁內(nèi)容過濾主要是針對主頁面中的動(dòng)畫文件進(jìn)行過濾。本文采用的就是關(guān)鍵詞過濾。關(guān)鍵詞列表是由系統(tǒng)自帶的專家關(guān)鍵詞列表與用戶維護(hù)的自定義關(guān)鍵詞列表組成。其關(guān)鍵詞匹配過程如下:在前文介紹了網(wǎng)頁打開的過程,本文利用BHO在瀏覽器調(diào)用IObjectWithSiteImpl::SetSite方法傳遞對當(dāng)前瀏覽器的引用指針給你的程序。然后瀏覽器調(diào)用你的組件的IObjectWithSi
11、teImpl::Invoke,并傳遞WebBrowserEventsID,因此可以根據(jù)EventsID判斷瀏覽器正在做什么,因此可以在這里對下載事件進(jìn)行過濾。比如在Invoke發(fā)生時(shí),ID為DISPID_BEFENAVIGATE2,則表明瀏覽器“正要”去瀏覽某個(gè)url。如果在這里對其處理,就可以實(shí)現(xiàn)禁止瀏覽某些URL。要實(shí)現(xiàn)對文件下載的禁止,我們需要截獲EventsID是否是DISPID_DOWNLOADBEGIN,并在這里“欺騙”一下
12、IE,讓他結(jié)束下載。為此需要實(shí)現(xiàn)IInterProtocolRoot接口的Start方法:HRESULTStart(LPCWSTRszUrlIInterProtocolSinkpOIProtSinkIInterBindInfopOIBindInfoDWDgrfPIHLE_PTRdwReserved)其第二個(gè)參數(shù)(IInterProtocolSinkpOIProtSink)用來判斷下載是否結(jié)束。因此我們首先判斷szURL能否與關(guān)鍵詞列表項(xiàng)
13、匹配或者包含.swf以及.gif等文件,如果匹配成功,即該網(wǎng)址包含違禁關(guān)鍵字,則調(diào)用IInterProtocolSink::ReptResult方法將Start方法的第二個(gè)參數(shù)設(shè)置為真(pOIProtSinkReptResult(S_OK0NULL)),這樣就是現(xiàn)了“欺騙”IE,在下載文件之前就結(jié)束了其下載。同時(shí)我們還需也將被過濾的網(wǎng)址添加到數(shù)據(jù)存儲文件中,整個(gè)過濾過程就完成了。3.2.43.2.4數(shù)據(jù)存儲模塊數(shù)據(jù)存儲模塊數(shù)據(jù)存儲模塊將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件開發(fā)維護(hù)服務(wù)外包技術(shù)方案
- 軟件開發(fā)方案書
- 軟件開發(fā)方案書
- 軟件開發(fā)方案書
- 第1章軟件開發(fā)方法(三)軟件開發(fā)技術(shù)
- 軟件開發(fā)技術(shù)手冊
- 軟件開發(fā)技術(shù)基礎(chǔ)
- 軟件開發(fā)功能報(bào)價(jià)方案
- xx軟件開發(fā)方案書
- 軟件開發(fā)實(shí)施方案
- 軟件開發(fā)功能報(bào)價(jià)方案
- 軟件開發(fā)環(huán)境與開發(fā)技術(shù).pdf
- 軟件開發(fā)崗位舉證模板_軟件開發(fā)
- 軟件開發(fā)方案和實(shí)施安排
- 軟件開發(fā)質(zhì)量保證方案
- 軟件開發(fā)方案和實(shí)施安排
- 軟件開發(fā)具體實(shí)施方案
- 軟件開發(fā)崗位舉證模板_資深軟件開發(fā)
- 軟件開發(fā)崗位舉證模板_助理軟件開發(fā)
- 軟件開發(fā)崗位舉證模板_高級軟件開發(fā)
評論
0/150
提交評論