C#:WebBrowser中偽造referer,為何對流量統計器無效?


  使用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有辦法偽造來路嗎? 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM