流量统计器如何鉴别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实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
javascript中parseInt()函数的定义和用法分析
Dec 20 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
Aug 26 Javascript
JavaScript必知必会(五) eval 的使用
Jun 08 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
Vue代码分割懒加载的实现方法
Nov 23 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
vue axios封装httpjs,接口公用配置拦截操作
Aug 11 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
Yii框架form表单用法实例
2014/12/04 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
Python协程的用法和例子详解
2017/09/09 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
python导入库的具体方法
2020/06/18 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
ASP.NET Core中的配置详解
2021/02/05 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
人力资源管理专业应届生求职信
2014/04/24 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
监守自盗观后感
2015/06/10 职场文书
七一晚会主持词
2015/06/29 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
原生JS实现飞机大战小游戏
2021/06/09 Javascript
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
Nginx配置https的实现
2021/11/27 Servers