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 相关文章推荐
一段利用WSH修改和查看IP配置的代码
May 11 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
Oct 20 Javascript
jQuery实现HTML5 placeholder效果实例
Dec 09 Javascript
JavaScript父子窗体间的调用方法
Mar 31 Javascript
Bootstrap精简教程
Nov 27 Javascript
jQuery拖拽通过八个点改变div大小
Nov 29 Javascript
jQuery导航条固定定位效果实例代码
May 26 jQuery
Node.js 使用命令行工具检查更新
Jun 08 Javascript
详解基于Wepy开发小程序插件(推荐)
Aug 01 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
vue 内联样式style中的background用法说明
Aug 05 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
ajax缓存问题解决途径
2006/12/06 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
python实现杨辉三角思路
2017/07/14 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
网上快餐厅创业计划书
2014/02/01 职场文书
采购部经理岗位职责
2014/02/10 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
婚育证明样本
2015/06/16 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python