流量统计器如何鉴别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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
jquery.boxy插件的iframe扩展代码
Jul 02 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
Jan 16 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
Apr 17 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
jQuery Chart图表制作组件Highcharts用法详解
Jun 01 Javascript
学习Angularjs分页指令
Jul 01 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
layui前段框架日期控件使用方法详解
May 19 Javascript
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
js 计数排序的实现示例(升级版)
Jan 12 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
我的论坛源代码(七)
2006/10/09 PHP
PHP 一个页面执行时间类代码
2010/03/05 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
php数组添加元素方法小结
2014/12/20 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
PHP 芝麻信用接入的注意事项
2016/12/01 PHP
jquery里的each使用方法详解
2010/12/22 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python实现去除代码前行号的方法
2015/03/10 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
小学生新学期寄语
2014/01/19 职场文书
运动会入场词200字
2014/02/15 职场文书
股权转让协议书
2014/04/12 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
排查整治工作方案
2014/06/09 职场文书
食品安全处置方案
2014/06/14 职场文书
水电工程师岗位职责
2015/02/13 职场文书
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP