流量统计器如何鉴别C#:WebBrowser中伪造referer


Posted in Javascript onJanuary 07, 2015

使用webbrowser伪造referer的方法:webBrowser1.Navigate(url, "_self", null, "Referer:http://www.xxx.com")

这段时间一直研究怎么才能在 webbrowser中设置referer来路来伪造来路进行刷流量,可是最后研究了半个月最终以失败告终,因为现在的统计代码,比较实际的就是cnzz.com和google adsense自带的统计,他们的统计都是通过js文件进行统计的,这样就形成了伪造来路的不成功,具体为什么不成功就让下面的一篇文章说明吧!

众所周知,服务器端的referer来路是可以伪造的,无论是ASP、PHP还是其他脚本都是可以伪造referer的,一些下载软件更是把referer伪造的惟妙惟肖,利用webbrowser控件可以方便的伪造来路。那么,作为保护网站的守门人,它如何防止这些伪造的referer呢?

这里,利用的是 Javascript 这一利器。

上面提到的伪造referer的方法都是通过服务器端的脚本来实现的,但它们并不能欺骗客户端。而JS是在客户端执行的,它并不会理会服务器端的headers信息,所以,利用js的 document.referer 方法可以准确地判断网页的真实来路。

几乎所有的第三方统计不约而同地采用了 document.referer 来判断来路,为什么?正是基于 js 下的 referer来路 是不可伪造的。即使在服务器端成功地伪造了referer的网页脚本,在第三方统计里也是无法被统计到的,原因正是由于这些三方统计采用了 document.referer 来判别真实的来路。

所以,为了对抗虚假的 referer 伪造信息,统计代码需要利用 js 的 document.referer 来判别,就可以将伪造的信息拒之门外 。

据目前所知,到目前为止,js下是无法伪造 referer 的。

那么有人问了,如果客户端把JAVASCRIPT脚步甚至cookies关闭了,你还怎么判断这个referer?其实答案也很简单,就是 js 和 asp/php 脚本之间通过 操作cookies 这个中间桥梁来实现,js里把这个referer写入cookies,asp/php读取这个cookies,如果读取不到这个cookies,则判断非本站来路。

Javascript 相关文章推荐
关于 byval 与 byref 的区别分析总结
Oct 08 Javascript
javascript 继承实现方法
Aug 26 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
Apr 06 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
Jul 30 Javascript
Bootstrap每天必学之表格
Nov 23 Javascript
微信小程序实现图片预加载组件
Jan 18 Javascript
基于JavaScript实现抽奖系统
Jan 16 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
Jul 06 Javascript
js判断非127开头的IP地址的实例代码
Jan 05 Javascript
JavaScript中window和document用法详解
Jul 28 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 07 Javascript
Angular用来控制元素的展示与否的原生指令介绍
Jan 07 #Javascript
jQuery中children()方法用法实例
Jan 07 #Javascript
angular.element方法汇总
Jan 07 #Javascript
jQuery中slice()方法用法实例
Jan 07 #Javascript
angularJS中$apply()方法详解
Jan 07 #Javascript
jQuery中not()方法用法实例
Jan 06 #Javascript
jQuery中has()方法用法实例
Jan 06 #Javascript
You might like
php echo 输出字符串函数详解
2010/05/13 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
js格式化时间的方法
2015/12/18 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
使用Python下载Bing图片(代码)
2013/11/07 Python
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
Python之循环结构
2019/01/15 Python
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
制作部班长职位说明书
2014/02/26 职场文书
学雷锋演讲稿
2014/03/04 职场文书
美容院合作经营协议书
2014/10/10 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS
hive数据仓库新增字段方法
2022/06/25 数据库