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 相关文章推荐
电子商务网站上的常用的js放大镜效果
Dec 08 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
jQuery取消特定的click事件
Feb 29 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
Mar 03 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 Javascript
前端JS面试中常见的算法问题总结
Dec 23 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
JavaScript hasOwnProperty() 函数实例详解
Aug 04 Javascript
基于axios 的responseType类型的设置方法
Oct 29 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
Sep 21 Javascript
vant时间控件使用方法详解
Dec 24 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
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
如何使用php实现评委评分器
2015/07/31 PHP
Yii rules常用规则示例
2016/03/15 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
JavaScript 函数replace深入了解
2013/03/14 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python连接DB2数据库
2016/08/27 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
python3让print输出不换行的方法
2020/08/24 Python
简述安装Slackware Linux系统的过程
2012/05/08 面试题
酒店执行总经理岗位职责
2013/12/15 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
机关作风建设整改方案
2014/10/27 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
公司前台接待岗位职责
2015/04/03 职场文书