流量統(tǒng)計(jì)器如何鑒別C#:WebBrowser中偽造referer
使用webbrowser偽造referer的方法:webBrowser1.Navigate(url, "_self", null, "Referer:http://www.xxx.com")
這段時(shí)間一直研究怎么才能在 webbrowser中設(shè)置referer來(lái)路來(lái)偽造來(lái)路進(jìn)行刷流量,可是最后研究了半個(gè)月最終以失敗告終,因?yàn)楝F(xiàn)在的統(tǒng)計(jì)代碼,比較實(shí)際的就是#和google adsense自帶的統(tǒng)計(jì),他們的統(tǒng)計(jì)都是通過(guò)js文件進(jìn)行統(tǒng)計(jì)的,這樣就形成了偽造來(lái)路的不成功,具體為什么不成功就讓下面的一篇文章說(shuō)明吧!
眾所周知,服務(wù)器端的referer來(lái)路是可以偽造的,無(wú)論是ASP、PHP還是其他腳本都是可以偽造referer的,一些下載軟件更是把referer偽造的惟妙惟肖,利用webbrowser控件可以方便的偽造來(lái)路。那么,作為保護(hù)網(wǎng)站的守門(mén)人,它如何防止這些偽造的referer呢?
這里,利用的是 Javascript 這一利器。
上面提到的偽造referer的方法都是通過(guò)服務(wù)器端的腳本來(lái)實(shí)現(xiàn)的,但它們并不能欺騙客戶(hù)端。而JS是在客戶(hù)端執(zhí)行的,它并不會(huì)理會(huì)服務(wù)器端的headers信息,所以,利用js的 document.referer 方法可以準(zhǔn)確地判斷網(wǎng)頁(yè)的真實(shí)來(lái)路。
幾乎所有的第三方統(tǒng)計(jì)不約而同地采用了 document.referer 來(lái)判斷來(lái)路,為什么?正是基于 js 下的 referer來(lái)路 是不可偽造的。即使在服務(wù)器端成功地偽造了referer的網(wǎng)頁(yè)腳本,在第三方統(tǒng)計(jì)里也是無(wú)法被統(tǒng)計(jì)到的,原因正是由于這些三方統(tǒng)計(jì)采用了 document.referer 來(lái)判別真實(shí)的來(lái)路。
所以,為了對(duì)抗虛假的 referer 偽造信息,統(tǒng)計(jì)代碼需要利用 js 的 document.referer 來(lái)判別,就可以將偽造的信息拒之門(mén)外 。
據(jù)目前所知,到目前為止,js下是無(wú)法偽造 referer 的。
那么有人問(wèn)了,如果客戶(hù)端把JAVASCRIPT腳步甚至cookies關(guān)閉了,你還怎么判斷這個(gè)referer?其實(shí)答案也很簡(jiǎn)單,就是 js 和 asp/php 腳本之間通過(guò) 操作cookies 這個(gè)中間橋梁來(lái)實(shí)現(xiàn),js里把這個(gè)referer寫(xiě)入cookies,asp/php讀取這個(gè)cookies,如果讀取不到這個(gè)cookies,則判斷非本站來(lái)路。
相關(guān)文章
???????分享7?個(gè)實(shí)用?TypeScript?單行代碼
這篇文章主要介紹了???????分享7?個(gè)實(shí)用?TypeScript?單行代碼,其中包括泛型、斷言等高級(jí)用法,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-05-05js實(shí)現(xiàn)精美的圖片跟隨鼠標(biāo)效果實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)精美的圖片跟隨鼠標(biāo)效果,實(shí)例分析了javascript鼠標(biāo)事件及頁(yè)面樣式的操作技巧,需要的朋友可以參考下2015-05-05JavaScript實(shí)現(xiàn)基于Cookie的存儲(chǔ)類(lèi)實(shí)例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)基于Cookie的存儲(chǔ)類(lèi),實(shí)例分析了javascript通過(guò)cookie實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04javascript getElementsByClassName實(shí)現(xiàn)代碼
根據(jù)元素clsssName得到元素集合的函數(shù),需要的朋友可以參考下。2010-10-10Javascript 實(shí)現(xiàn)TreeView CheckBox全選效果
Javascript 實(shí)現(xiàn)TreeView CheckBox 選中父節(jié)點(diǎn)時(shí)所有子節(jié)點(diǎn)全選,取消時(shí)全部取消2010-01-01JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空
表單驗(yàn)證幾乎在每個(gè)需要注冊(cè)或者是登錄的網(wǎng)站都是必不可少,下面通過(guò)本篇文章給大家介紹JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空,涉及到j(luò)s表單驗(yàn)證實(shí)例相關(guān)知識(shí),對(duì)js表單驗(yàn)證實(shí)例代碼需要的朋友一起學(xué)習(xí)吧2016-01-01詳解ES6 Fetch API HTTP請(qǐng)求實(shí)用指南
本次將介紹如何使用Fetch API(ES6 +)對(duì)REST API的 HTTP請(qǐng)求,還有一些示例提供給大家便于大家理解。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11JavaScript如何動(dòng)態(tài)監(jiān)聽(tīng)DOM元素高度詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript如何動(dòng)態(tài)監(jiān)聽(tīng)DOM元素高度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-07-07