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实现div的切换特效上一个下一个
Feb 11 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
Apr 08 Javascript
javascript对中文按照拼音排序代码
Aug 20 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
解析JavaScript中的字符串类型与字符编码支持
Jun 24 Javascript
微信小程序利用co处理异步流程的方法教程
May 20 Javascript
关于vue面试题汇总
Mar 20 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
Nov 05 Javascript
jQuery-ui插件sortable实现自由拖动排序
Dec 01 jQuery
JavaScript函数柯里化实现原理及过程
Dec 02 Javascript
微信小程序视频弹幕发送功能的实现
Dec 28 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初学者头疼十四条问题大总结
2008/11/12 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
简单实现php上传文件功能
2017/09/21 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
js实现动态添加上传文件页面
2018/10/22 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
python 实现两个线程交替执行
2020/05/02 Python
《庐山的云雾》教学反思
2014/04/22 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
工程承包协议书范本
2014/09/29 职场文书
工作经历证明书范文
2014/11/02 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
工程安全生产协议书
2014/11/21 职场文书
出国签证在职证明范本
2014/11/24 职场文书
劳资员岗位职责
2015/02/13 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库