Javascript中document.referrer隐藏来源的方法


Posted in Javascript onJanuary 16, 2017

前言

本文为大家讲解的是关于Javascript中document.referrer隐藏来源的方法探讨,感兴趣的同学参考下。

关于隐藏来路 Referrer 在某些情况下很有用,国外网赚界使用的非常广泛。比如流量提供方由于不想让联盟知道自己的流量来源,就需要隐藏自己来源网站的 referer。

document.referrer

document.referrer是用来获取跳转链接的来源,正规的解释是:referrer 属性可返回载入当前文档的文档的 URL。

实际中使用在广告相关业务中较多,包括推广等。

举个例子:

比如我们从百度中跳转到w3c,那我们从w3c中可以获取到referrer,这个referrer就是

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=document.referrer&oq=%E6%B8%85%E9%99%A4referrer&rsv_pq=bfd3dd180001b68f&rsv_t=876eCMwvcF%2Flc4tY42Va03DF7M83coNzQeRp4L2xYhUVk840K1J53CNfslM&rqlang=cn&rsv_enter=1&inputT=10344&rsv_sug3=111&rsv_sug1=109&rsv_sug7=000&rsv_n=2&bs=%E6%B8%85%E9%99%A4referrer

从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
https://www.baidu.com/link?url=zLE2dhkSRJRlNuL1zLsfITcCHKA3FsrHk5uED2tu0xy1…dNBzUaqr3MjKzyz-xPewdyNCPKmMvQrq&wd=&eqid=a28369d50001b64700000005586b49c2

清除来源

最常用的还是使用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>

效果如图:

Javascript中document.referrer隐藏来源的方法 

当我们点击有referrer的a标签的时候,在百度页面我们可以看到referrer。

Javascript中document.referrer隐藏来源的方法

当我们点击ifame中嵌套的a标签的时候,在百度页面我们可以看到referrer为空字符串。

Javascript中document.referrer隐藏来源的方法

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
javascript Select标记中options操作方法集合
Oct 22 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
jQuery无刷新切换主题皮肤实例讲解
Oct 21 Javascript
js定义类的几种方法(推荐)
Jun 08 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
Require.js的基本用法详解
Jul 03 Javascript
angular中实现li或者某个元素点击变色的两种方法
Jul 27 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
vue组件之间通信实例总结(点赞功能)
Dec 05 Javascript
vue-simple-uploader上传成功之后的response获取代码
Sep 07 Javascript
基于jQuery实现的打字机效果
Jan 16 #Javascript
JS实现的验证身份证及获取地区功能示例
Jan 16 #Javascript
JavaScript严格模式详解
Jan 16 #Javascript
关于iframe跨域POST提交的方法示例
Jan 15 #Javascript
JavaScript中利用for循环遍历数组
Jan 15 #Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 #Javascript
JavaScript调试的多个必备小Tips
Jan 15 #Javascript
You might like
玩转虚拟域名◎+ .
2006/10/09 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
window.ActiveXObject使用说明
2010/11/08 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
[01:52]PWL S2开团时刻第四期——DOTA2成语故事
2020/12/03 DOTA
python修改字典内key对应值的方法
2015/07/11 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
村抢险救灾方案
2014/05/09 职场文书
校本培训个人总结
2015/02/28 职场文书
学校通报表扬范文
2015/05/04 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书