流量统计器如何鉴别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 相关文章推荐
js如何实现设计模式中的模板方法
Jul 23 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
extjs每个组件要设置唯一的ID否则会出错
Jun 15 Javascript
Javascript控制input输入时间格式的方法
Jan 28 Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 Javascript
vue中el-upload上传图片到七牛的示例代码
Oct 19 Javascript
深入解读Node.js中的koa源码
Jun 17 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 Javascript
如何将Node.js中的回调转换为Promise
Nov 10 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之字符串变相相减的代码
2007/03/19 PHP
PHP提取中文首字母
2008/04/09 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
基于jquery的跨域调用文件
2010/11/19 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
初步剖析C语言编程中的结构体
2016/01/16 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
感谢信范文大全
2015/01/23 职场文书
2016春节家属慰问信
2015/03/25 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python