【发布时间】:2021-07-18 05:32:12
【问题描述】:
我在 IIS 中托管我的代码,我想在任何用户使用我的托管链接登录我的应用程序时获取用户 Ip。 例如,如果有 10 个不同的用户从 10 个不同的系统访问我的链接,我想在 asp.net c# 中获取所有这 10 个不同的 IP 地址。 相同的代码是否会同时带来服务器和 IP 地址。我使用的是 Asp.net 4.5 -c#
【问题讨论】:
标签: javascript c# asp.net asp.net-web-api
我在 IIS 中托管我的代码,我想在任何用户使用我的托管链接登录我的应用程序时获取用户 Ip。 例如,如果有 10 个不同的用户从 10 个不同的系统访问我的链接,我想在 asp.net c# 中获取所有这 10 个不同的 IP 地址。 相同的代码是否会同时带来服务器和 IP 地址。我使用的是 Asp.net 4.5 -c#
【问题讨论】:
标签: javascript c# asp.net asp.net-web-api
可能是以下之一:
HttpContext.Current.Request.ServerVariables.Item("REMOTE_HOST")
HttpContext.Current.Request.ServerVariables.Item("REMOTE_ADDR")
或者……
HttpContext.Current.Request.ServerVariables.Item("X-Forwarded-For")
...如果您的服务器位于代理后面。请注意,最后一个很容易被伪造(并且 IP 也是可伪造/可更改的),所以不要依赖它来处理与安全相关的任何事情
【讨论】:
您可以通过此代码获取客户端IP:
HttpContext.Current.Request.UserHostAddress
【讨论】:
您可以像这样获取您的 IP 地址:
var remoteIpAddress = request.HttpContext.Connection.RemoteIpAddress;
【讨论】: