流量统计器如何鉴别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 相关文章推荐
XP折叠菜单&仿QQ2006菜单
Dec 16 Javascript
javascript 函数速查表
Feb 07 Javascript
JavaScript Event学习第二章 Event浏览器兼容性
Feb 07 Javascript
JavaScript 学习初步 入门教程
Mar 25 Javascript
js利用与或运算符优先级实现if else条件判断表达式
Apr 15 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
详解JavaScript的变量和数据类型
Nov 27 Javascript
javascript实现checkbox复选框实例代码
Jan 10 Javascript
Jq通过td获取同行其它列td的方法
Oct 05 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 Javascript
JS学习笔记之闭包小案例分析
May 29 Javascript
原生js实现表格翻页和跳转
Sep 29 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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
php入门教程 精简版
2009/12/13 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
解放web程序员的输入验证
2006/10/06 Javascript
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
js DOM的学习笔记
2011/12/22 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
Python中max函数用法实例分析
2015/07/17 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
Python File(文件) 方法整理
2019/02/18 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
幼儿园教师教学反思
2014/02/06 职场文书
《长城》教学反思
2014/02/14 职场文书
认购协议书范本
2014/04/22 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
超市主管竞聘书
2015/09/15 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang