2013-02-01 12 views
0

我現在在一個項目,需要在asp.net項目中找到用戶遠程IP地址。我搜索了四周,我發現這個:Request.ServerVariables [「REMOTE_ADDR」]。問題是它只返回「:: 1」而不是IP地址。是否因爲我使用本地服務器而發生問題?試圖找到用戶死記硬件IP地址

回答

1

是的,這是因爲您正在使用本地服務器。

地址"::1"localhost的IPv6地址。

0

試試這個:

using System.Net; 
string host = Dns.GetHostName(); 
IPHostEntry ip = Dns.GetHostEntry(host); 
Console.WriteLine(ip.AddressList[1].ToString()); 
1

有獲取用戶的IP地址沒有防彈辦法,因爲可能有很多沿途的代理服務器。您收到的結果對localhost是正確的,但如果客戶端來自外部,REMOTE_ADDR將返回列表中的最後一個代理。有一個HTTP標頭列表可能包含實際的IP地址,但也可以僞造。你可以閱讀下面的博客文章更多詳細資料(也shold閱讀註釋):