程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#:webbrowser中偽造referer,為何對流量統計器無效?,

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

編輯:C#入門知識

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


C語言裡面,這個符號(->)是什,怎使用?

這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。
 

C語言裡面,這個符號(->)是什,怎使用?

這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved