获取用户IP地址
本文关键字:地址 IP 用户 获取 | 更新日期: 2023-09-27 18:16:29
我有一个web应用程序,有一个登录。现在我想要的是在登录时获取终端用户的IP地址。我试过研究,但根据我的理解,它得到了我的机器的ip,而不是登录的人。此应用程序已经部署在服务器上。如果我照他们说的做,我就能得到服务器的ip地址。但我想知道登录的终端用户的IP地址。
这是我所见过的一个例子。
private string GetIP()
{
string strHostName = "";
strHostName = System.Net.Dns.GetHostName();
IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
string ipaddress =convert.tostring(ipEntry.AddressList[2]);
return ipaddress.tostring();
}
我不确定我是否正确理解了这一点,但我认为这将获得本地ip地址,而不是登录的最终用户的ip地址。如果我说错了,请一定纠正我。什么好主意吗?谢谢!
Use -
HttpContext.Current.Request.UserHostAddress
尝试:
HttpContext.Current.Request.UserHostAddress;
或
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
您可以使用REMOTE_ADDR和HTTP_X_FORWARDED_FOR从请求。ServerVariables .
UserHostAddress属性只是REMOTE_ADDR服务器变量的一个包装。因此,如果您的用户位于代理(或路由器)之后,则只返回一个IP地址,即代理(或路由器)的IP地址。
红色:http://haacked.com/archive/2006/10/11/A_Gotcha_Identifying_the_Users_IP_Address.aspx/
有另一个线程在stackoverflow:如何获得IP地址?