屏蔽廣告你真的沒做錯嗎?談談廣告過濾工具的那點事

屏蔽廣告你真的沒做錯嗎?談談廣告過濾工具的那點事

11 人贊了文章

進入互聯網時代後,廣告愈發成為了數字生活不可或缺的一部分。無論你是開啟網頁還是一些軟體,揮之不去的廣告如影隨形,如何屏蔽廣告、拒絕渣渣輝送你屠龍寶刀已經成為了網民熱議的話題。目前無論是在PC平台還是移動端,都已經出現了很多廣受人民群眾喜愛的廣告過濾方案。不過,廣告過濾是否就真的百利而無一害?今天就一起來談談廣告過濾的那點事吧。

廣告過濾是如何煉成的:Adblock發展史

說起廣告過濾軟體,相信大家都聽說過大名鼎鼎的「Adblock Plus」,這可能是世界上影響力最大的廣告過濾工具。很多朋友都用過它,而當網站請求你不要屏蔽廣告的時候,提到的往往也是它。不過對於這款著名的廣告過濾工具,大多數人並不十分了解。

Adblock Plus可謂是世界上最著名的廣告過濾工具了

在互聯網時代的早年,廣告屏蔽工具可不像現在那樣百花齊放。對於當時就有燎原苗頭的網路廣告,一般的網民只能逆來順受,但有動手能力的極客們,當然就不會讓廣告商給自己強行喂餅。於是,最著名的廣告過濾工具「Adblock」就此誕生。

早在2002年,大名鼎鼎的「Adblock」面世了。這款對互聯網生態影響極大的工具,僅僅是由大學生「Henrik Aasted Sorensen」編寫出來的。和現在一樣,Adblock在最早也是一款非商業的軟體,但它的初始版本,卻和現在有著極大的不同。

Adblock的最早版本,非常青澀

在早期的版本當中,Adblock的機制和作用,都和目前流行的版本有相當大的差距。例如,它最初只能夠屏蔽圖片,並不能對Flash、Java等網頁元素產生作用;又例如,它是通過隱藏已經存在的廣告圖片,來去除網頁中的廣告的,而不是像現在這樣直接攔截了廣告的下載。但經過不斷改良,它最終還是成為了現在的姿態。

在2004年,Adblock迎來了一次革命性的更新,不僅版本號更新到了0.5,而且廣告屏蔽的機制有了根本性的改變——它終於能夠直接攔截廣告數據的下載,而不僅僅只是隱藏廣告元素了。而到了2005年,Adblock由於開發的分支,衍變成為了「Adblock Plus」,而原始版本的「Adblock」從此以後就再也沒有更新過了。

Adblock衍化成為了Adblock Plus

看到這裡,也許有的朋友會產生疑問。明明現在到Chrome、Edge等瀏覽器商店中,都可以看到仍在持續更新的「AdBlock」,這到底又是怎麼回事?實際上,現在的「AdBlock」和當年的「Adblock」並不是同一回事,現在的這款AdBlock是2009年才開始出現的「新品」,有開發者受到Firefox上Adblock Plus的影響,想要在Chrome上開發出一款功能類似的廣告過濾工具,隨即將開發出來的工具命名為「AdBlock」。雖然名字相似,但「Adblock Plus」才是更老的招牌。

Adblock Plus和AdBlock是不同的軟體,兩者沒有直接關係

Adblock/Adblock Plus過濾廣告原理

從誕生到現今,Adblock/Adblock Plus已經走過了十多個年頭。這些年來它一直是世界上最流行的廣告過濾工具之一,而它也的確始終在發揮著卓越的功效。而Adblock/Adblock Plus乃至同類廣告過濾工具,之所以能夠如此有成效,和支持廣告過濾規則訂閱這一重要特性是脫不開關係的。

從Adblock Plus的0.5版本開始,它就支持利用網路地址訂閱過濾規則。網頁中的廣告代碼,是具備一定特徵的,因此利用特定的規則,就能夠將廣告代碼識別出來,拒絕載入。而Adblock Plus支持規則訂閱,只要網路上有人做出齊全的規則列表並不斷更新維護,那麼Adblock Plus就可以根據相應的網址自動更新過濾規則;如此一來,就算遇到網頁改版、廣告位置改動、出現新型廣告等情況,Adblock Plus依然能不斷發揮作用。

Adblock Plus的0.6版本,支持廣告過濾規則

說起來,這一機制其實和殺毒軟體更新病毒庫是有相似之處的,不過Adblock Plus能夠訂閱多個規則源,例如你可以同時訂閱EasyList、ChinaList等多種規則。而由於能夠訂閱多種規則,所以Adblock Plus又多了除屏蔽廣告之外的玩法——過濾規則不僅僅可以針對廣告,還可以針對網頁上任何你不想要的功能。想要保護隱私?可以用規則屏蔽掉跟蹤代碼;想要防止釣魚?你可以訂閱防止惡意代碼的規則。而這些過濾規則也不僅僅是Adblock Plus的專屬,不少優秀的廣告過濾工具都支持各種規則的訂閱。

不斷更新的廣告過濾規則,是廣告過濾工具戰鬥力的保證

也因為如此,你很難說某款廣告過濾器如此神效,到底是軟體本身的功勞更多,還是過濾規則發揮的作用更大。某些過濾規則例如ChinaList宣布停止更新的時候,也會引起粉絲們的一片哀嚎。過濾規則是如此的重要,因此如果想要評價某款廣告過濾工具是否優秀,它支不支持自定義過濾規則、訂閱在線規則,完全可以作為一大重要標準。

常見的廣告過濾方案

Adblock最早是以Firefox瀏覽器的擴展的形式出現的,在2010年Adblock Plus發布了Chrome瀏覽器擴展的版本,而到了近年,它又推出了安卓平台的APP。Adblock本身都有如此進化,更勿論是其他廣告過濾工具了。到現在,廣告過濾工具百花齊放,工作機理也不甚相同,下面就舉幾個經典的方案來介紹一下吧。

◆瀏覽器擴展

這可謂是廣告過濾工具最常見的存在形式了,從最早的Adblock,到現在自帶去廣告功能的各種瀏覽器,瀏覽器擴展多年來一直在去廣告領域發光發熱。

Adblock Plus最早只支持Firefox,現在支持包括Edge在內的越來越多的瀏覽器

沒錯,如果某個瀏覽器自帶去廣告功能,那麼這功能多是利用擴展程序來實現的。倘若你有仔細觀察,那麼應該不難發現很多帶有去廣告功能的瀏覽器,大多是基於Chromium開發而來,這樣做的一大好處是可以兼容Chrome瀏覽器上的擴展程序。修改某些去廣告擴展後,然後將它內置到瀏覽器當中,這是國內很多瀏覽器開發商的玩法。而Adblock Plus是開源的這一點,讓它更容易被改造利用。

Adblock Plus是一個開源項目,大家都可以用到它的相關技術

瀏覽器擴展過濾廣告的功效可謂是久經考驗,但它也存在顯而易見的局限——它只作用於瀏覽器。目前人們接觸互聯網的渠道越來越多,例如通過APP、Web程序等等,如果網路廣告並不需要經由瀏覽器,那麼瀏覽器擴展自然也無能為力了。目前優秀的去廣告瀏覽器擴展除了大家熟知的Adblock Plus,還有uBlock等等,大家可以根據自己的使用習慣選擇。

◆Hosts修改

Hosts文件能夠影響系統對IP地址訪問,Windows、Android等系統中都存在Hosts文件。在Hosts文件中添加了特定的規則後,可以阻止傳輸特定IP地址的網路數據,用來攔截廣告自然也不在話下。

無論在PC還是安卓,都存在通過修改Hosts從而過濾廣告的工具。例如安卓平台上的AdAway,就可以在線下載廣告過濾規則後,將規則寫入到Hosts文件當中,從而實現廣告攔截。

Android上著名的去廣告工具AdAway,就是通過修改Host來實現廣告過濾的

通過修改Hosts文件來過濾廣告,能夠對系統全局都產生作用,效果拔群。但它也存在缺點,首先這個方法有一定的門檻。例如,在Windows上修改Hosts文件需要使用管理員許可權,在Android上則需要root,對於某些非玩家用戶,這還是有一定操作上的難度。其次,修改Hosts文件去廣告並不能一勞永逸,當廣告過濾規則更新的時候,需要手動更新Hosts文件,這來得總不是那麼的方便。

◆全局流量過濾

這是現在非常流行的廣告過濾方案。近年來,出現了一些能夠去除系統幾乎所有廣告的工具軟體。這些軟體並不需要什麼複雜的操作,一鍵就能夠去掉全局廣告。這樣的軟體在PC和Android系統中都有出現,AdSafe、廣告過濾大師等等就是其中的典型代表。

Android上很多免root去廣告工具會調用VPN掌管全局流量

這樣的軟體之所以能夠實現這樣的功能,靠的是利用本地代理進行全局流量過濾。這類軟體往往會建立本地網關,將用戶所有網路連接的流量置之眼皮底下。一旦流量某些內容和廣告過濾規則匹配,那麼廣告就會從流量中剔除——從原理來看,這類軟體過濾廣告是靠譜的,而實際效果也的確有口皆碑。

由於在Android系統當中,APP可以建立VPN通道,因此很多去廣告APP會利用VPN來建立安卓的本地網關,從而無需root也能過濾廣告,深受廣大用戶歡迎。

◆IPtables過濾

這也是一種非常常見的廣告過濾方案,多見於root後的Android系統,以及一些路由器固件當中。Android系統我們知道基於Linux內核,而OpenWRT、DDWRT等路由器固件,包括廠商今年熱炒的所謂「智能路由器」,往往也基於Linux。既然基於Linux,那麼就可以通過IPtables來管理網路流量,去廣告就是其中的一個典型用途。

DroidWall是一款Android平台上通過IPtables來過濾廣告的經典工具

IPtables看做是Linux系統中的一個防火牆機制。只要導入了相應的規則,那麼就可以利用IPtables過濾特定的網路數據,用來攔截廣告也非常行之有效。IPtables可以作用於系統全局,不過由於涉及系統關鍵參數,因此需要root許可權才能配置。Android玩家往往會root後通過IPtables來實現廣告全局過濾,而路由器玩家則會刷第三方固件後,安裝去廣告的插件來實現類似效果,某些智能路由器廠商則預設了去廣告功能,這些很多都是IPtables來實現的。

◆直接攔截廣告API

這是Android平台上另一種常見的廣告過濾方案。廣告工具能通過一些手段,嗅探到APP的廣告API,從而直接攔截。典型的例子就是基於Xposed平台的MinMinGuard,得益於Xposed能夠Hook進Android系統的各個角落,因此基於Xposed的工具能夠修改其他Android APP,自然也能用於攔截廣告。

MinMinGuard可以通過攔截廣告API來過濾APP的廣告

和IPtables一樣,這種方法也需要root許可權。

去廣告你真的沒做錯嗎

對於用戶來說,當然希望互聯網的海洋一碧千里,網路上全都是有價值的內容而沒有廣告。而藉助屏蔽廣告的工具,的確可以很大程度上實現這一點,但這對於互聯網來說,是否真的是一件好事?並非如此。

和傳統商業模式不同,互聯網所提供的服務很大一部分是免費的,而廣告則是這些免費互聯網服務的支柱。以Google為例,在2018年第二財季最新的財報當中,Google的廣告應收達到了220億美元,而Google的母公司Alphabet預期營收則是255.8億美元。除了Google,Facebook、Twitter等互聯網企業的主要收入來源也是廣告。廣告沒有了投放空間,目前大量互聯網服務也就成為了無源之水,從這方面來說,業界之所以對Adblock這類廣告屏蔽工具存在負面看法,也就理所當然了。

上圖為2016年的數據,可見Google、Facebook等互聯網大企業主要是靠廣告存活的

用戶喜歡的Adblock,對於互聯網生態而言甚至可以稱得上是毒瘤,很多網站檢測到你開啟了Adblock之類的廣告過濾工具,會彈窗提示你屏蔽廣告並不合理,甚至拒絕服務。而安卓官方商店Google Play,更是將Adblock Plus下架。但儘管如此,用戶仍對廣告過濾工具情有獨鍾,這主要還是因為為數不少的廣告投放,吃相實在太過難看。

某些網站會請求用戶關閉廣告過濾工具

很大一部分的互聯網廣告已經嚴重影響用戶體驗。例如某些視頻站的廣告,5分鐘的視頻的前置廣告甚至可以長達一分半鐘,而網站上的貼片廣告也活生生把頁面變成了滿布牛皮癬的骯髒牆面。人們儘管明白廣告之於互聯網的意義,但這並不代表用戶就能忍受廣告的肆無忌憚。如何才能在廣告和用戶體驗間取得一個良好平衡,始終是業界一直在探討的難題。

為了給出一個既不損害互聯網服務商的理由、又不影響用戶體驗的方案,一些廣告過濾工具已經行動起來。例如Adblock Plus發起了可接受廣告項目,新增了一個「允許非侵入式廣告」的選項,並將其默認設置為開啟。對所有廣告殺無赦或許太過殘忍,允許一些良性廣告,既可以一定程度保障互聯網服務商的利益,也可以促進互聯網廣告走往正途,可謂是一舉兩得。

Adblock Plus發起了可接受廣告項目,主動放過一些良性廣告

對於整個互聯網生態來說,廣告過濾工具的確是存在一定害處的。但對於個人用戶而言,這些工具是否就百利而無一害?也並非如此。

前面提到,為了實現廣告過濾的功能,去廣告工具可能會採取一些作用於全局的方案,這不可避免會接觸到用戶的大量網路數據。換言之,如果這些廣告過濾工具不靠譜,完全可以對你的網路流量為所欲為。而事實上這類工具也沒有令人失望,爆出了暗藏惡意代碼劫持流量的醜聞。

某些去廣告工具從原理來看,天生就對網路流量有生殺大權,劫持流量輕而易舉

根據著名安全常識火絨的播報,廣為流行的去廣告軟體AdSafe存在流量劫持的行為。AdSafe以及它的疑似馬甲「清網衛士」、「廣告過濾大師」會劫持用戶的上網流量,將網頁進行不正常跳轉,你上網的時候就算輸入的是正確的網址,卻有可能出現被這類工具劫持到另一個站點的情況。設想一下,如果劫持的是購物網站,那麼關於你支付信息很有可能會盡入他人囊中。

總的來說,將流量交給了去廣告工具任由處置,是存在風險的。在選擇去廣告工具的時候,可以優先考慮從原理上看起來更安全的(如瀏覽器擴展類),規則更加開放的,以及口碑久經考驗的,Adblock Plus依然是上上之選。

總結

隨著互聯網的發展,廣告的形式也愈發豐富起來,結合大數據後,各類廣告更令人防不勝防。面對新形式的廣告,傳統的過濾工具顯得越來越力不從心。未來廣告過濾工具還會有怎樣的發展?用戶體驗和廣告之間能找到一個令人滿意的平衡點嗎?讓我們繼續觀望互聯網的風起雲湧吧。


推薦閱讀:

把全世界變成你的辦公室-解讀2018年遠程工作者調查報告
7月營銷節點丨一張思維導圖已盤點
短視頻如何進行綠幕摳像?
互聯網 社群方法論:九陽神功(雖然很長,但是很乾)

TAG:廣告 | 互聯網 | 軟體 |