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

  使用webbrowser伪造referer的方法:webBrowser1.Navigate(url, "_self", null, "Referer:http://www.xxx.com")php

  这段时间一直研究怎么才能在 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,则判断非本站来路。html

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

相关文章

浅析document.referrer服务器

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

相关文章
相关标签/搜索