C#:WebBrowser中伪造referer,为何对流量统计器无效?_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C#:WebBrowser中伪造referer,为何对流量统计器无效?

C#:WebBrowser中伪造referer,为何对流量统计器无效?

 2014/10/18 10:42:10  曾是土木人  程序员俱乐部  我要评论(0)
  • 摘要:使用webbrowser伪造referer的方法:webBrowser1.Navigate(url,"_self",null,"Referer:http://www.xxx.com")这段时间一直研究怎么才能在webbrowser中设置referer来路来伪造来路进行刷流量,可是最后研究了半个月最终以失败告终,因为现在的统计代码,比较实际的就是cnzz.com和googleadsense自带的统计,他们的统计都是通过js文件进行统计的,这样就形成了伪造来路的不成功
  • 标签:C# Web WebBrowser

  使用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,则判断非本站来路。

转载:http://www.cnblogs.com/hackpig/archive/2010/02/14/1668236.html

相关文章

浅析document.referrer

js 的 document.referer有办法伪造来路吗? 

上一篇: c# 滚动字幕的实现 下一篇: java的变量
发表评论
用户名: 匿名