流量统计器如何鉴别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 相关文章推荐
使用jquery写个更改表格行顺序的小功能
Apr 29 Javascript
JavaScript中的some()方法使用详解
Jun 09 Javascript
chrome调试javascript详解
Oct 21 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
Feb 27 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
详解webpack与SPA实践之开发环境搭建
Dec 18 Javascript
vue click.stop阻止点击事件继续传播的方法
Sep 04 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 Javascript
JavaScript实现多文件下载方法解析
Aug 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
自己动手手写jQuery插件总结
2015/01/20 Javascript
PHP守护进程实例
2015/03/06 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
python文件比较示例分享
2014/01/10 Python
深入Python函数编程的一些特性
2015/04/13 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
python logging日志模块的详解
2017/10/29 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python实现录音小程序
2020/10/26 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
大学生创业感言
2014/01/25 职场文书
产品设计开发计划书
2014/05/07 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android