如何防止網(wǎng)站被電信運(yùn)營劫持彈廣告
最近家里的光纖寬帶在訪問一些特定的行業(yè)網(wǎng)站的時(shí)候總時(shí)不時(shí)的被電信彈窗,這類利用 iframe 劫持網(wǎng)站彈廣告的方式實(shí)在太下作了,其實(shí)就是一種變相的網(wǎng)絡(luò)攻擊行為。而且這種類型的廣告經(jīng)常會(huì)讓正常網(wǎng)站的訪問用戶誤解,影響網(wǎng)站的聲譽(yù),比如有不明所以的用戶會(huì)問「你們網(wǎng)站原來沒有廣告的,現(xiàn)在怎么一訪問就彈廣告呢?」
如何有效避免這種 iframe 劫持? 有不少朋友分享過相關(guān)的技巧,比如常用的代碼:
<script type="text/javascript">
if (top.location !== self.location) {
top.location=self.location;
}
</script>將上述代碼嵌入頁面頭部,可某種程度上避免。不過,電信運(yùn)營商的手段也在不斷升級,稍加變化還能繞過去。
有研究人員給出了一段升級代碼:
<style> html{display : none ; } </style>
<script>
if( self == top ) {
document.documentElement.style.display = 'block' ;
} else {
top.location = self.location ;
}
</script>國外有個(gè)特定術(shù)語叫 Framekiller ,說的就是如何抵御這種劫持的事兒。不過這個(gè)代碼也有可能再次被繞過去,就看運(yùn)營商的流氓手段到什么程度了。或許最為有效的辦法是加密傳輸內(nèi)容(https)。Updated: 在電信運(yùn)營商那里,這套玩意兒叫做「智能流量增值系統(tǒng)」,其實(shí)就是「DNS 劫持」。另外還有更高級的大殺器,「網(wǎng)絡(luò)定向直投系統(tǒng)」。網(wǎng)絡(luò)上能找到一些介紹信息。
網(wǎng)絡(luò)定向直投系統(tǒng)(也稱 iPUSH ),是由中國電信開發(fā)的劃時(shí)代網(wǎng)絡(luò)技術(shù),可以以各種格式定時(shí)定點(diǎn)將廣告推送到網(wǎng)絡(luò)在線用戶端的瀏覽主頁面。 通過這個(gè)傳播平臺(tái),不論電信用戶在瀏覽器地址欄中輸入任何網(wǎng)址進(jìn)行瀏覽,網(wǎng)絡(luò)定向直投系統(tǒng)均可將廣告主動(dòng)送達(dá)用戶,不依賴于某個(gè)固定的網(wǎng)站。
網(wǎng)絡(luò)定向直投系統(tǒng)「原理」:基于寬帶接入網(wǎng),通過對用戶上網(wǎng)行為的分析,在用戶上網(wǎng)時(shí)、或正在上網(wǎng)的過程中,系統(tǒng)主動(dòng)、定向、策略性、個(gè)性化的向用戶推送廣告宣傳信息。 方式:根據(jù)用戶當(dāng)前瀏覽的網(wǎng)站或匹配對應(yīng)的關(guān)鍵字,向用戶推送圖片、Flash、視頻等多媒體交互式廣告內(nèi)容。有朋友告訴我,這套玩意兒「通過對電信核心線路的過濾,把目標(biāo) HTTP 包整個(gè)給替換掉,換成他們自己的頁面」,總之電信運(yùn)營商為了牟利,上的全是黑客級手段。
直白的說,就是在用戶好不知情的情況下強(qiáng)行插廣告。
單純從用戶端無法屏蔽這種流氓廣告,建議自己有網(wǎng)站的朋友們,工程師們,想辦法從網(wǎng)站層面抵制這種行為。