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 相关文章推荐
监控 url fragment变化的js代码
Apr 19 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
jquery插件validate验证的小例子
May 08 Javascript
获取鼠标在div中的相对位置的实现代码
Dec 30 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
Bootstrap轮播插件简单使用方法介绍
Jun 21 Javascript
jQuery ajax的功能实现方法详解
Jan 06 Javascript
vue组件之间数据传递的方法实例分析
Feb 12 Javascript
JS使用栈判断给定字符串是否是回文算法示例
Mar 04 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
Sep 21 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 Javascript
交互式可视化js库gojs使用介绍及技巧
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
php中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
常用的php对象类型判断
2008/08/27 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
两个php日期控制类实例
2014/12/09 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
jsonp原理及使用
2013/10/28 Javascript
javascript中字符串的定义示例代码
2013/12/19 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Django框架多表查询实例分析
2018/07/04 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
python通过实例讲解反射机制
2019/10/17 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
技术经理的自我评价范文
2013/12/03 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
关于打架的检讨书
2014/01/17 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
教师业务学习材料
2014/12/16 职场文书
公司搬迁通知
2015/04/20 职场文书
首都博物馆观后感
2015/06/05 职场文书
创业计划书之家教托管
2019/09/25 职场文书
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP
Nginx安装配置详解
2022/06/25 Servers