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 相关文章推荐
IE autocomplete internet explorer's autocomplete
Jun 30 Javascript
JavaScript flash复制库类 Zero Clipboard
Jan 17 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 Javascript
js字符串转换成xml对象并使用技巧解读
Apr 18 Javascript
利用浏览器全屏api实现js全屏
Jan 16 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
JavaScript正则表达式匹配 div  style标签
Mar 15 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
jQuery选择器之层次选择器用法实例分析
Feb 19 jQuery
vue中使用v-model完成组件间的通信
Aug 22 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
PHP框架性能测试报告
2016/05/08 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
tensorflow的计算图总结
2020/01/12 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python 如何对logging日志封装
2020/12/02 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
澳洲的服装老品牌:SABA
2018/02/06 全球购物
测绘工程系学生的自我评价
2013/11/30 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
团拜会策划方案
2014/06/07 职场文书
股权转让协议书
2014/12/07 职场文书
安全责任书
2015/01/29 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python