首頁  >  文章  >  web前端  >  流量統計器如何辨識C#:WebBrowser中偽造referer_javascript技巧

流量統計器如何辨識C#:WebBrowser中偽造referer_javascript技巧

WBOY
WBOY原創
2016-05-16 16:21:55858瀏覽

使用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,則判斷非本站來路。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn