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宝典学习笔记(上)
Jan 10 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
通过实例理解javascript中没有函数重载的概念
Jun 03 Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
Jan 04 Javascript
Vue中引入样式文件的方法
Aug 18 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
20行JS代码实现粘贴板复制功能
Feb 06 Javascript
JavaScript私有变量实例详解
Jan 24 Javascript
微信小程序 scroll-view的使用案例代码详解
Jun 11 Javascript
vue使用canvas实现移动端手写签名
Sep 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源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
javascript 学习之旅 (2)
2009/02/05 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
会计电算化个人自我评价
2013/11/17 职场文书
单位提档介绍信
2014/01/17 职场文书
模具毕业生推荐信
2014/02/15 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
工作作风承诺书
2014/08/30 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
Elasticsearch 批量操作
2022/04/19 Python
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers