【发布时间】:2016-07-17 15:09:04
【问题描述】:
我正在使用下面的代码在我的 ASP.Net 应用程序中获取用户的 IP 地址。
问题:userIPAddress 变量的值是否可以针对同一用户在同一用户会话中的请求进行更改?我假设用户可以从笔记本电脑或移动设备访问 ASP.Net 应用程序。
string userIPAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
【问题讨论】:
-
如果在代理服务器后面或在使用动态 dhcp 服务器的 Intranet 环境中,可能会被更改。审核:thepcspy.com/read/getting_the_real_ip_of_your_users和stackoverflow.com/questions/9726576/…获取用户ip地址
-
UserHostAddress 不获取代理服务器的 IP 地址,所以该代理服务器后面的所有用户都会给出相同的 UserHostAddress?我不确定代理服务器是动态IP还是静态IP。
-
IP地址是代理服务器的地址(根据ISP服务和他自己的路由器配置可能是静态的/动态的),所以代理服务器后面的所有用户都有相同的真实IP地址。代理服务器,真的,是 Natting,它的意思是,通过给每个外部不可见的私有 IP 地址来管理用户(但可以访问:))。
-
@M.Hassan,感谢您提供丰富的评论。