流量统计器如何鉴别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 相关文章推荐
学习ExtJS(一) 之基础前提
Oct 07 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 Javascript
JS控制表单提交的方法
Jul 09 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
Jul 09 Javascript
js实现简单数字变动效果
Nov 06 Javascript
详解vue中axios的封装
Jul 18 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
node.js使用fs读取文件出错的解决方案
Oct 23 Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 Javascript
Vue中 axios delete请求参数操作
Aug 25 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
Nginx实现反向代理
2017/09/20 Servers
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
flask入门之文件上传与邮件发送示例
2018/07/18 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
python装饰器原理与用法深入详解
2019/12/19 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
python中altair可视化库实例用法
2021/01/26 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
工作交流会欢迎词
2014/01/12 职场文书
个人授权委托书
2014/09/15 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
MySQL之select、distinct、limit的使用
2021/11/11 MySQL