前言
本文為大家講解的是關(guān)于Javascript中document.referrer
隱藏來源的方法探討,感興趣的同學(xué)參考下。
關(guān)于隱藏來路 Referrer 在某些情況下很有用,國外網(wǎng)賺界使用的非常廣泛。比如流量提供方由于不想讓聯(lián)盟知道自己的流量來源,就需要隱藏自己來源網(wǎng)站的 referer。
document.referrer
document.referrer
是用來獲取跳轉(zhuǎn)鏈接的來源,正規(guī)的解釋是:referrer
屬性可返回載入當(dāng)前文檔的文檔的 URL。
實(shí)際中使用在廣告相關(guān)業(yè)務(wù)中較多,包括推廣等。
舉個(gè)例子:
比如我們從百度中跳轉(zhuǎn)到w3c,那我們從w3c中可以獲取到referrer,這個(gè)referrer就是
從http請求頭部我們也可以找到這個(gè)referrer
Referer:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=document.referrer&rsv_pq=ad59c4820001a9ba&rsv_t=d9cb%2Bi5AE7Ns3JHq3qbNca2i5LbazZfjc364gvq%2BclD%2Bs%2Fi44XuGYnb3giY&rqlang=cn&rsv_enter=1&rsv_sug3=12&rsv_sug1=11&rsv_sug7=100&sug=document.referrer&rsv_n=1
同樣我們在w3c頁面中控制臺中也獲取到這個(gè)referrer。
document.referrerhttps://www.baidu.com/link?url=zLE2dhkSRJRlNuL1zLsfITcCHKA3FsrHk5uED2tu0xy1…dNBzUaqr3MjKzyz-xPewdyNCPKmMvQrq&wd=&eqid=a28369d50001b64700000005586b49c2
清除來源
最常用的還是使用iframe來隱藏referrer。
下面來看一個(gè)例子:
<!DOCTYPE html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>document.referrer</title></head><body> <h1>隱藏referrer</h1> 跳轉(zhuǎn)至百度(有referrer): <a target="_blank" >test</a> <script type="text/javascript"> var iframe = document.createElement('iframe'), html = '<!doctype html><head><meta charset="utf-8"></head><body>跳轉(zhuǎn)至百度(無referrer):<a target="_blank" >referrer test</a></body>', src = 'javascript:document.write(window.frameElement.getAttribute(/'data-src/'))'; iframe.setAttribute('data-src', html); iframe.setAttribute('src', src); iframe.width = '500'; iframe.height = '300'; document.body.appendChild(iframe); </script></body>
效果如圖:
當(dāng)我們點(diǎn)擊有referrer的a標(biāo)簽的時(shí)候,在百度頁面我們可以看到referrer。
當(dāng)我們點(diǎn)擊ifame中嵌套的a標(biāo)簽的時(shí)候,在百度頁面我們可以看到referrer為空字符串。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
|
新聞熱點(diǎn)
疑難解答