Asp.net獲取客戶(hù)端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
更新時(shí)間:2013年06月28日 16:34:50 作者:
如果某個(gè)網(wǎng)站是通過(guò)下面的代碼獲取IP,那么我們只要在Header里隨意設(shè)置HTTP_VIA和X_FORWARDED_FOR,就可以達(dá)到偽造IP的目的
在網(wǎng)卡隨便一搜: Asp.net 客戶(hù)端IP
可以搜索到很多頁(yè)面,提供的代碼基本都類(lèi)似于:
if (Request.ServerVariables["HTTP_VIA"] != null)
return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];
else
return Request.ServerVariables["REMOTE_ADDR"];
上述代碼里的HTTP_VIA和HTTP_X_FORWARDED_FOR,都是從客戶(hù)端提交的Header里獲取的,而在正常的HTTP交互中,REMOTE_ADDR是無(wú)法偽造的(注),
所以如果某個(gè)網(wǎng)站是通過(guò)上面的代碼獲取IP,那么我們只要在Header里隨意設(shè)置HTTP_VIA和X_FORWARDED_FOR,就可以達(dá)到偽造IP的目的,可以使用FireFox的插件“Modify Headers”來(lái)測(cè)試,用它添加Header
注:實(shí)際上,REMOTE_ADDR也是可以偽造的,但是會(huì)造成無(wú)法正常接收數(shù)據(jù),好比寫(xiě)信時(shí),發(fā)件人寫(xiě)假地址,那當(dāng)然不可能收到對(duì)方的回復(fù)了
可以搜索到很多頁(yè)面,提供的代碼基本都類(lèi)似于:
復(fù)制代碼 代碼如下:
if (Request.ServerVariables["HTTP_VIA"] != null)
return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];
else
return Request.ServerVariables["REMOTE_ADDR"];
上述代碼里的HTTP_VIA和HTTP_X_FORWARDED_FOR,都是從客戶(hù)端提交的Header里獲取的,而在正常的HTTP交互中,REMOTE_ADDR是無(wú)法偽造的(注),
所以如果某個(gè)網(wǎng)站是通過(guò)上面的代碼獲取IP,那么我們只要在Header里隨意設(shè)置HTTP_VIA和X_FORWARDED_FOR,就可以達(dá)到偽造IP的目的,可以使用FireFox的插件“Modify Headers”來(lái)測(cè)試,用它添加Header
注:實(shí)際上,REMOTE_ADDR也是可以偽造的,但是會(huì)造成無(wú)法正常接收數(shù)據(jù),好比寫(xiě)信時(shí),發(fā)件人寫(xiě)假地址,那當(dāng)然不可能收到對(duì)方的回復(fù)了
相關(guān)文章
Asp.net 彈出對(duì)話(huà)框基類(lèi)(輸出alet警告框)
asp.net輸出alert警告框2008-11-11
asp.net網(wǎng)站實(shí)現(xiàn)接入QQ登錄示例代碼
相信大家在做開(kāi)發(fā)的時(shí)候,常會(huì)遇到集成QQ登錄的功能,本文主要說(shuō)的是利用asp.net代碼的實(shí)現(xiàn)方式,邏輯部分主要還是根據(jù)幫助文檔來(lái)的。不懂的同學(xué)可以先看看文檔。下面來(lái)一起學(xué)習(xí)學(xué)習(xí)。2016-08-08
ASP.NET編程獲取網(wǎng)站根目錄方法小結(jié)
這篇文章主要介紹了ASP.NET編程獲取網(wǎng)站根目錄方法,較為詳細(xì)的分析了ASP.NET針對(duì)網(wǎng)站目錄及物理路徑的操作技巧,并給出了實(shí)例予以總結(jié),需要的朋友可以參考下2015-11-11
.net6簡(jiǎn)單使用NPOI讀取Excel的項(xiàng)目實(shí)踐
本文主要介紹了.net6簡(jiǎn)單使用NPOI讀取Excel的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
.Net筆記:System.IO之windows文件操作的深入分析
本篇文章是對(duì).Net中windows文件操作的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
ASP.NET之Response.Cookies.Remove 無(wú)法刪除COOKIE的原因
在web開(kāi)發(fā)中Cookie是必不可少的,.NET自然也有一個(gè)強(qiáng)大的Cookie操作類(lèi),我們用起來(lái)也非常方便,不過(guò)在使用中我們會(huì)發(fā)現(xiàn)一個(gè)事情Response.Cookies.Remove刪除不了Cookie,2013-06-06
DataList綁定到Row[]行集合的問(wèn)題的方法
DataList綁定到Row[]行集合的問(wèn)題的方法...2007-09-09
ASP.NET 數(shù)據(jù)訪(fǎng)問(wèn)類(lèi)
ASP.NET 數(shù)據(jù)訪(fǎng)問(wèn)類(lèi)...2006-08-08

