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 相关文章推荐
让回调函数 showResponse 也带上参数的代码
Aug 13 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
Oct 11 Javascript
javascript加号&quot;+&quot;的二义性说明
Mar 04 Javascript
点击进行复制的JS代码实例
Aug 23 Javascript
JS批量修改PS中图层名称的方法
Jan 26 Javascript
Javascript实现单张图片浏览
Dec 18 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
JavaScript学习笔记之惰性函数示例详解
Aug 27 Javascript
Angular4集成ng2-file-upload的上传组件
Mar 14 Javascript
原生js实现日历效果
Mar 02 Javascript
vue的$http的get请求要加上params操作
Nov 12 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 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下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
jquery实现垂直手风琴菜单
2020/03/04 jQuery
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
python 队列详解及实例代码
2016/10/18 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Python中单例模式总结
2018/02/20 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
竞选班长演讲稿
2013/12/30 职场文书
2014年班组长工作总结
2014/11/20 职场文书
尼克胡哲观后感
2015/06/08 职场文书
纪录片信仰观后感
2015/06/08 职场文书