试图找到用户的远程IP地址

时间:2013-02-01 09:53:28

标签: asp.net ip

我正在开发一个需要查找用户远程IP地址的ASP.NET项目。我四处寻找,我发现了这个:

Request.ServerVariables["REMOTE_ADDR"]

问题是它只返回“:: 1”而不是IP地址。可能因为我使用本地服务器而出现问题吗?

3 个答案:

答案 0 :(得分:1)

是的,这是因为您使用的是本地服务器。

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

答案 1 :(得分:1)

没有获取用户IP地址的防弹方式,因为可能会有很多代理服务器。您收到的结果对于localhost是正确的,但如果客户端来自外部,REMOTE_ADDR将返回列表中的最后一个代理。有一个HTTP标头列表可能包含实际的IP地址,但也可以伪造。您可以阅读以下博客文章了解更多详情(您还可以阅读评论):

答案 2 :(得分:0)

试试这个:

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