Adblock是Mozilla Firefox和Mozilla Application Suite網(wǎng)頁瀏覽器所使用的擴(kuò)展。Adblock允許用戶攔截廣告在內(nèi)的各種頁面元素,并使這些內(nèi)容不被下載和顯示。2004年起Adblock開發(fā)停滯,同時(shí)出現(xiàn)了分支版本Adblock Plus。這個(gè)版本對用戶界面、過濾訂閱和元素隱藏等功能進(jìn)行了改進(jìn)。Adblock Plus已經(jīng)成為更加流行的版本。
Adblock Plus主要關(guān)注軟件的可用性,并添加和改進(jìn)了許多功能。它在主窗口上面有清楚定義的菜單項(xiàng)。另外可過濾項(xiàng)的列表也被整合到下方的面板,這一面板也可以從主窗口分體出來。廣告過濾的表達(dá)式也增加了元素隱藏的功能。其它一些新功能如過濾器統(tǒng)計(jì)(計(jì)數(shù)功能),并可以對單一過濾器進(jìn)行啟用或禁用而不用刪除過濾器。
和Mozilla內(nèi)置的圖像過濾器一樣,Adblock根據(jù)內(nèi)容的源地址攔截了HTTP請求,并可過濾IFrame、script及Flash。它也可以用自動(dòng)生成的用戶樣式表來隱藏包括文字廣告在內(nèi)的頁面元素。這個(gè)功能稱為元素隱藏,它將攔截內(nèi)容換成了隱藏內(nèi)容。
Michael McDonald開發(fā)了Adblock Plus 0.5,并通過以下功能對Adblock進(jìn)行改進(jìn):
·白名單;
·支持過濾背景圖像;
·固定網(wǎng)址的過濾器訂閱并自動(dòng)更新;
·隱藏HTML元素的功能可以過濾更多的文字、圖像及其它內(nèi)容;
·對特定網(wǎng)站的廣告進(jìn)行過濾,而不是全局過濾;
·修復(fù)內(nèi)存泄漏問題。
McDonald后來停止了開發(fā)工作并將其移交給Wladimir Palant。Wladimir Palant于2006年1月對代碼庫進(jìn)行重寫并發(fā)布了Adblock Plus 0.6
基本的過濾規(guī)則可以使用星號(*)作為通配符。列入白名單的網(wǎng)站及對象可以使用兩個(gè)at符號(@@)開發(fā),使其免受過濾。正則表達(dá)式可以在前后加上斜框(/)后使用。Adblock Plus也支持更復(fù)雜的語法來對過濾器進(jìn)行更精確的控制。
下列是一些Adblock過濾器的示例。攔截example.com上的廣告:
example.com#DIV(id=ad)
攔截任何在目錄"banners"中的內(nèi)容,或同以下規(guī)則相對應(yīng)的內(nèi)容(大小寫不敏感):
*/banners/*
將example.com網(wǎng)站列入白名單:
@@http://www.example.com/
攔截Yahoo!的廣告:
/yimg.com(.*/adv/|/a[^u])(?!vision)/
過濾器訂閱
用戶可以增加額外的過濾集。Adblock Plus可以使用一個(gè)或多個(gè)外部過濾器訂閱,并自動(dòng)進(jìn)行更新。Filterset.G為這一軟件并不兼容(Adblock Plus也特別建議不要使用Filterset.G,并給出了相應(yīng)的理由),但其它的過濾集可以通過輸入網(wǎng)址來添加。Adblock Plus的官方網(wǎng)站提供了已知的Adblock Plus訂閱列表。
大量網(wǎng)站的擁有者,特別是網(wǎng)站上有各類網(wǎng)絡(luò)廣告的,認(rèn)為包括Adblock在內(nèi)廣告過濾軟件的應(yīng)用會(huì)減少他們的收入。在某種意義上而言,這種行為就是一種盜竊行為。這個(gè)觀點(diǎn)主要就是指網(wǎng)站的擁有者需要支付費(fèi)用來維護(hù)服務(wù)器和帶寬費(fèi)用,以便繼續(xù)提供免費(fèi)內(nèi)容。一些網(wǎng)站會(huì)使用計(jì)數(shù)器來禁止廣告過濾軟件的使用,如嘗試檢測是否存在廣告過濾器并提示用戶關(guān)閉軟件,或直接阻止用戶訪問網(wǎng)頁直至他們關(guān)閉廣告過濾軟件。這些做法得到了很多人的支持和反對。
比較著名的例子有,網(wǎng)站持有者Danny Carlton (a.k.a.Jack Lewis)禁止所有Firefox訪問他的個(gè)人網(wǎng)站,不管他們是否安裝Adblock Plus。他聲稱Adblock Plus用戶實(shí)際上竊取了他的內(nèi)容并相信Mozilla基金會(huì)要對認(rèn)證和發(fā)布這一插件負(fù)責(zé)。Adblock Plus的開發(fā)者Wladimir Palant在他的Blog上作出了回應(yīng)。一些其他的blogger也對這件事表達(dá)了自己的觀點(diǎn)。
Adblock Plus也因移除Adblock的站點(diǎn)攔截功能而受到了批評。
首先是Adblock太強(qiáng)大了,如果使用共享出來的過濾規(guī)則,有可能會(huì)導(dǎo)致某些重要的信息被過濾,不過還好,我們能夠通過工具欄上的圖標(biāo)隨時(shí)暫停Adblock的過濾工作。其次,過濾規(guī)則僅僅是由愛好者團(tuán)體共同提供的,可靠性沒有保證。最后,Adblock采用的是“趕盡殺絕”的方式,要想只過濾網(wǎng)頁中的特定廣告,操作比較復(fù)雜。
·PC World將Adblock Plus列為2007最好的100個(gè)產(chǎn)品之一。
一些網(wǎng)站管理員使用JavaScript來檢測是否使用一些流行的Adblock過濾器。這會(huì)生成一些類似honeypot的URL并在網(wǎng)頁在瀏覽器上渲染后進(jìn)行驗(yàn)證,更高級的會(huì)使用DOM的驗(yàn)證機(jī)制來檢查設(shè)置的廣告元素是否存在。
這些方法并不能直接檢測到是否存在Adblock擴(kuò)展,只能對過濾器進(jìn)行檢測。只是對過濾器進(jìn)行,這些方法就會(huì)失效。
還有一個(gè)方法會(huì)對插件自身進(jìn)行檢測,但這一方法在AdBlock Plus 0.7.5.2更新后就失去作用了。