本文實用markdown編譯生成,左側(cè)有目錄梗概急鳄,同步更新地址為http://www.reibang.com/p/f9d61033650b
前言
信息時代谤民,廣告泛濫,要根治廣告疾宏,我們首先要了解為什么目前廣告會如此泛濫张足,然后這些廣告都來自哪里,最后如何解決坎藐。首先需要申明为牍,廣告的屏蔽和反屏蔽其實就是現(xiàn)實版的“貓鼠游戲”,好貼切的比喻呀!
廣告來源
廣告聯(lián)盟
中國互聯(lián)網(wǎng)經(jīng)過這么多年的沉浮吵聪,地下黑色產(chǎn)業(yè)鏈已經(jīng)有了很大的變化凌那。隨著免費殺毒軟件的流行,中國互聯(lián)網(wǎng)發(fā)生了一些比較明顯的變化吟逝,比如曾經(jīng)盜號木馬橫行帽蝶,現(xiàn)在就很少見了。但是块攒,黑色產(chǎn)業(yè)并沒有消失励稳,而是轉(zhuǎn)型做起來其他的買賣,比如買賣流量囱井。首先是各個網(wǎng)站主驹尼,通過廣告聯(lián)盟賺錢,流量大的網(wǎng)站每月賺廣告費月入一二十萬的人大有人在庞呕。國內(nèi)常見的就是百度聯(lián)盟新翎,360,騰訊等等住练。國外的有谷歌聯(lián)盟地啰,亞馬遜聯(lián)盟等等。
對于這種聯(lián)盟廣告讲逛,一般來說大站掛的為了用戶體驗亏吝,不會掛太多,但是有的小站那就嚴重影響體驗了盏混。
可能這篇文章的讀者中也有很多博客站長們蔚鸥,沒有在自己瀏覽器里使用“廣告屏蔽”插件的站長們應(yīng)該是寥寥無幾了许赃。其實對于“廣告屏蔽”很多站長都是一個很矛盾的心理止喷,在使用“廣告屏蔽”的同時,又希望自己博客網(wǎng)站投放的廣告少被屏蔽些图焰。目前看启盛,“廣告屏蔽”的重災(zāi)區(qū)是移動端,現(xiàn)在手機端瀏覽器好像默認都是開啟“廣告 過濾”功能了技羔,而移動端流量又是目前大部分博客網(wǎng)站占比最大的一塊兒僵闯。目前,各個聯(lián)盟也推出了廣告反屏蔽功能藤滥,現(xiàn)已支持PC網(wǎng)頁和移動網(wǎng)頁的大部分樣式鳖粟。
運營商劫持
運營商是指那些提供寬帶服務(wù)的ISP,包括三大運營商中國電信拙绊、中國移動向图、中國聯(lián)通泳秀,還有一些小運營商,比如長城寬帶榄攀、歌華有線寬帶嗜傅。運營商提供最最基礎(chǔ)的網(wǎng)絡(luò)服務(wù), 掌握著通往用戶物理大門的鑰匙檩赢。
網(wǎng)絡(luò)運營商為了賣廣告或者其他經(jīng)濟利益吕嘀,有時候會直接劫持用戶的訪問,目前贞瞒,運營商比較常見的作惡方式有兩種偶房,分別是DNS劫持、HTTP劫持军浆。
DNS 劫持
又稱域名劫持棕洋,DNS是Domain Name System的簡寫,即域名系統(tǒng)乒融,它作為可以將域名和IP地址相互映射的一個分布式數(shù)據(jù)庫掰盘,能夠使人更方便的訪問互聯(lián)網(wǎng)。簡單地說簇抵,如果我們想訪問豈安科技的官網(wǎng)庆杜,本來需要輸入網(wǎng)站主機的IP地址,但是DNS可以將www.baidu.com解析成對應(yīng)的IP地址碟摆,我們就不需要記住復(fù)雜的IP地址了。
這里先看DNS劫持的情況:
微云彈出的迷你瀏覽器直接跳轉(zhuǎn)到114導(dǎo)航叨橱;
Steam內(nèi)置瀏覽器被跳轉(zhuǎn)到某個宣傳賺錢的微信文章頁(此頁面欺騙性太大典蜕, 未必是運營商所為)
總結(jié)一下,DNS劫持有這三種情況:
1.錯誤域名解析到糾錯導(dǎo)航頁面罗洗,導(dǎo)航頁面存在廣告愉舔。判斷方法:訪問的域名是錯誤的,而且跳轉(zhuǎn)的導(dǎo)航頁面也是官方的伙菜,如電信的114轩缤,聯(lián)通移網(wǎng)域名糾錯導(dǎo)航頁面。
2.錯誤域名解析到非正常頁面贩绕,對錯誤的域名解析到導(dǎo)航頁的基礎(chǔ)上火的,有一定幾率解析到一些惡意站點,這些惡意站點通過判斷你訪問的目標HOST淑倾、URI馏鹤、 referrer等來確定是否跳轉(zhuǎn)廣告頁面,這種情況就有可能導(dǎo)致跳轉(zhuǎn)廣告頁面(域名輸錯)或者訪問頁面被加廣告(頁面加載時有些元素的域名錯誤而觸發(fā))這種劫持會對用戶訪問的目標HOST娇哆、URI湃累、referrer等會進行判定來確定是否解析惡意站點地址勃救,不易被發(fā)現(xiàn)。
3.直接將特點站點解析到惡意或者廣告頁面治力,這種情況比較惡劣蒙秒,而且出現(xiàn)這種情況未必就是運營商所為,家里路由器被黑宵统,或者系統(tǒng)被入侵晕讲,甚至運營商的某些節(jié)點被第三方惡意控制都有可能。具體情況要具體分析榜田,這里就不展開了益兄。
HTTP劫持
會話劫持,DNS解析的域名的IP地址不變箭券。在和網(wǎng)站交互過程中的劫持了你的請求净捅。在網(wǎng)站發(fā)給你信息前就給你返回了請求。這里又可以分為兩類
302 Redirect
將用戶 URL重定向到非目標網(wǎng)站辩块。如果直接劫持用戶的目標網(wǎng)站太過明顯蛔六,因為如果用戶無法訪問目標站點的話,會引起大量投訴最終會導(dǎo)致劫持敗露废亭。所以這類劫持一般都會針對中間頁面劫持国章,并且會增加一些過濾條件。比如用戶訪問目標網(wǎng)站后豆村,如果點擊目標網(wǎng)站鏈接液兽,就有可能被302跳轉(zhuǎn)給劫持。比較典型的就是很多搜索結(jié)果頁面掌动,點擊之后跳轉(zhuǎn)到了不知所云的網(wǎng)站:
網(wǎng)頁內(nèi)容篡改
一般會有如下情形:直接在網(wǎng)頁插入JS(java script)四啰;在網(wǎng)頁嵌入iframe。
HTTP劫持很好判斷粗恢,當年正常訪問一個無廣告的頁面時柑晒,頁面上出現(xiàn)廣告彈窗,八成就是運營商劫持了HTTP眷射。下圖中匙赞,右下角的廣告并不是所訪問的網(wǎng)站放置的。
HTTP劫持現(xiàn)在是相當普遍的妖碉,比如今年就出現(xiàn)了這樣的事涌庭,某國字號APP被劫持
由于HTTP是明文傳輸?shù)模瑫r流量的獲利空間巨大嗅绸,所以流量劫持的現(xiàn)象才會越來越嚴重脾猛。關(guān)于DNS劫持和HTTP劫持,打個比方來描述這兩種劫持鱼鸠,DNS劫持就是你想去存錢運營商卻把你拉到了劫匪手中猛拴;而HTTP劫持就是你從服務(wù)器買了一包零食電信給你放了一坨屎羹铅,橫豎都很惡心人。
固件廠商
直接看圖吧
應(yīng)對方式
廣告聯(lián)盟
修改hosts
最直接的辦法就是直接在hosts中屏蔽掉愉昆,這里列出國內(nèi)常見的幾個职员,強制指向127.0.0.1就可以了
pos.baidu.com
#
cpro.baidu.com
drmcmm.baidu.com
api.so.lianmeng.#
s.lianmeng.#
cas.hk.cn.criteo.com
cat.hk.cn.criteo.com
googleads.g.doubleclick.net
pagead2.googlesyndication.com
app.acm.dzwww.com
strip.taobaocdn.com
當然為了方便我也推薦一款Hosts管理軟件:Switchhosts
下載地址:https://github.com/oldj/SwitchHosts/releases
SwitchHosts! 是一款集管理、切換 N 個 Hosts 方案的開源軟件跛溉,基于 wxPython 開發(fā)焊切,可在 Windows/Linux/Mac 下運行,現(xiàn)在作者基于 Electron 重新開發(fā)了 SwitchHosts! 功能上全部清零芳室。這款小軟件支持 Common Host 文件专肪,切換到任意環(huán)境都將生效的host,在編輯時可顯示語法高亮堪侯。
去廣告hosts列表yhost:https://github.com/vokins/yhosts
uBlock Origin
如果只是瀏覽器使用的話票髓,我們可以安裝擴展饵婆,比如chrome系列我們可以安裝uBlock Origin育特,里面已經(jīng)預(yù)置了很多去廣告的規(guī)則啃憎,并且一直在更新
uBlock Origin另一個功能是可以移除頁面指定元素,比如進入論壇精品軟件區(qū)
結(jié)果發(fā)現(xiàn)頁面很大部分都被版規(guī)擋住了次洼,這時候我就使用元素選擇器,直接看效果吧关贵。
運營商劫持
DNS劫持
DNS劫持常見于使用自動的DNS地址,所以卖毁,不管有沒有被劫持揖曾,盡量不要使用運營商默認的DNS。
首先推薦幾個安全無污染的DNS公共服務(wù)器亥啦,當然有條件的可以自建DNS服務(wù)器翩肌。
Public DNS 地址:119.29.29.29 和 182.254.116.116
114公共DNS服務(wù)地址:
純凈 無劫持 無需再忍受被強扭去看廣告或粗俗網(wǎng)站之痛苦
服務(wù)地址為:114.114.114.114 和 114.114.115.115
攔截 釣魚病毒木馬網(wǎng)站 增強網(wǎng)銀、證券禁悠、購物、游戲兑宇、隱私信息安全
服務(wù)地址為:114.114.114.119 和 114.114.115.119
學(xué)邪欤或家長可選攔截 色情網(wǎng)站 保護少年兒童免受網(wǎng)絡(luò)色情內(nèi)容的毒害
服務(wù)地址為:114.114.114.110 和 114.114.115.110
onedns公共DNS服務(wù)地址:
北方首選 114.215.126.16
南方首選 112.124.47.27
南北備用 42.236.82.22
谷歌公共DNS地址:
8.8.8.8 和 8.8.4.4
如果覺得自建服務(wù)器太麻煩,推薦一款實用的DNS管理工具:DNSspeeder
下載地址:http://www.sharewarestudio.com/?page_id=6
利用DnsSpeeder可以制作本地Dns緩存服務(wù)器隶糕,加快瀏覽網(wǎng)頁的速度瓷产,以及解決Dns污染和某些解析問題。綠色免費自帶中文枚驻,無需配置濒旦。可以跳過運營商的 DNS 服務(wù)器再登。
Http劫持
對付HTTP劫持尔邓,最好的方法之一晾剖,就是使用HTTPS來連接網(wǎng)頁。而使用HTTPS梯嗽,在傳輸數(shù)據(jù)過程中齿尽,數(shù)據(jù)是加密的。就如同原先開車被人在車窗塞小廣告灯节,現(xiàn)在把窗都關(guān)緊循头,他人自然再也無法插足。HTTPS不僅可以防止HTTP劫持炎疆,也能夠較好地防止DNS劫持卡骂,這是由于HTTPS的安全是由SSL來保證的,需要正確的證書形入,連接才會成立全跨。如果DNS把域名解析到了不對應(yīng)的IP,是無法通過證書認證的唯笙,連接會被終止螟蒸。
實際上,現(xiàn)在已經(jīng)有越來越多的網(wǎng)站支持HTTPS崩掘,但為了兼容等問題七嫌,不少網(wǎng)站也同時提供HTTP連接,例如著名的視頻網(wǎng)站嗶哩嗶哩苞慢。主動使用HTTPS來進行連接诵原,不但有效防止網(wǎng)頁劫持,還能夠保護隱私挽放。如果你在使用Chrome绍赛、Firefox等支持擴展的瀏覽器,還可以使用強制HTTPS連接的擴展來上網(wǎng)辑畦,不用自己手動去試某個網(wǎng)站有沒有HTTPS吗蚌。
Https Everwhere
如果你使用的是Chrome瀏覽器,那么可以安裝下面這個擴展Https Everwhere
下載地址:https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp?hl=zh-CN
由 Tor Project(洋蔥路由器)和 EFF(電子前哨基金會)開發(fā)纯出,可在 Google Chrome蚯妇、Firefox、Opera 和 Firefox for Android 四種平臺免費下載使用暂筝。從外掛名稱 HTTPS Everywhere 應(yīng)該就能知道它的用途箩言,主要為加密網(wǎng)路,自動在網(wǎng)站上使用 HTTPS 加密連線焕襟!也就是大家吃墒眨看到的「綠色鎖頭」功能。雖然不是每個網(wǎng)站都支援加密連線協(xié)議(但已逐漸成為標準配備)鸵赖,安裝外掛后就能強制在每個網(wǎng)站使用 HTTPS 連線务漩,也能建立規(guī)則選擇是否要阻擋掉未加密的請求以獲得更好的安全性拄衰。透過 HTTPS 連線的好處是什么呢?簡單來說菲饼,它會在傳輸時自動進行加密肾砂,避免資料在途中被第三方擷取而獲得重要內(nèi)容(例如密碼或其他隱私資訊),當然更好的是在瀏覽器網(wǎng)址列顯示綠色安全標誌宏悦,提高使用者的信任程度镐确。設(shè)置教程:https://free.com.tw/https-everywhere/
直接投訴
可以先給運營商打電話投訴,說明自己遇到劫持了饼煞。一般情況下客服會說你可能是中毒了源葫,不要緊堅持說自己用的是Mac,不會中毒砖瞧,讓對方解決息堂。如果運營商不給解決,可以告訴對方你到工信部投訴他們块促,運營商八成會認慫荣堰。
如果不認慫怎么辦?當然是真的到工信部投訴敖叽洹振坚!工信部電信用戶申訴受理中心:
固件廠商
這個沒有什么好說的吧,最根本的方法斋扰,看看是否可以Root渡八,然后刷機刷固件。目前常見的就是DD-WRT, Tomato 和OpenWRT传货,不嫌麻煩的話一般都刷OpenWRT屎鳍,OpenWrt最開放最激進,適合愿意折騰且有折騰能力的人问裕,如果你能逮壁,你會發(fā)現(xiàn)你可以隨心所欲的擴展它,你之前掌握的有關(guān)Linux的大部分經(jīng)驗都適用于OpenWrt粮宛。Tomato最封閉貌踏,而且亂,給人感覺沒活力窟勃。DD-WRT最接近實用,算是中庸逗堵,但是要定制和擴展都比較難秉氧。
項目主頁:OpenWrt
總結(jié)
有條件的可以自建服務(wù)器,或者折騰路由器也可以蜒秤,使用路由器解析DNS汁咏,加載hosts亚斋,這樣整個家里都可以使用。