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工具库代码
Mar 29 Javascript
javascript匿名函数实例分析
Nov 18 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
jQuery插件datepicker 日期连续选择
Jun 12 Javascript
vue实现手机号码抽奖上下滚动动画示例
Oct 18 Javascript
vue+iview+less+echarts实战项目总结
Feb 22 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
vue实现页面切换滑动效果
Jun 29 Javascript
javascript的var与let,const之间的区别详解
Feb 18 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
浅谈Python实现2种文件复制的方法
2018/01/19 Python
学习python可以干什么
2019/02/26 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
django ORM之values和annotate使用详解
2020/05/19 Python
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
Java里面如何创建一个内部类的实例
2015/01/19 面试题
初中新生军训方案
2014/05/13 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
财务务虚会发言材料
2014/10/20 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
革命电影观后感
2015/06/18 职场文书
投诉书范文
2015/07/02 职场文书
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
keepalived + nginx 实现高可用方案
2022/12/24 Servers