关于隐藏来路 Referrer 在某些情况下很有用,国外网赚界使用的非常广泛。比如流量提供方由于不想让联盟知道自己的流量来源,就需要隐藏自己来源网站的 referer。
document.referrer
document.referrer是用来获取跳转链接的来源,正规的解释是:referrer 属性可返回载入当前文档的文档的 URL。
实际中使用在广告相关业务中较多,包括推广等。
举个例子:
比如我们从百度中跳转到w3c,那我们从w3c中可以获取到referrer,这个referrer就是
复制代码 代码如下:
从http请求头部我们也可以找到这个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页面中控制台中也获取到这个referrer。
document.referrer
清除来源
最常用的还是使用iframe来隐藏referrer。
下面来看一个例子:
<!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> 跳转至百度(有referrer): <a target="_blank" href="https://www.baidu.com/">test</a> <script type="text/javascript"> var iframe = document.createElement('iframe'), html = '<!doctype html><head><meta charset="utf-8"></head><body>跳转至百度(无referrer):<a target="_blank" href="https://www.baidu.com/">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>
效果如图:
当我们点击有referrer的a标签的时候,在百度页面我们可以看到referrer。
当我们点击ifame中嵌套的a标签的时候,在百度页面我们可以看到referrer为空字符串。