【发布时间】:2011-05-31 21:37:54
【问题描述】:
如何在 C# 中获取客户端机器的 IP 地址? 我想为我的在线应用程序保留一个日志寄存器并保留日志系统的 IP 地址我想获取客户端的 IP 地址....
提前谢谢...
【问题讨论】:
-
客户端如何连接?什么是托管服务器? ASP.NET? WCF?其他时间?
如何在 C# 中获取客户端机器的 IP 地址? 我想为我的在线应用程序保留一个日志寄存器并保留日志系统的 IP 地址我想获取客户端的 IP 地址....
提前谢谢...
【问题讨论】:
String clientIP =
(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]==null)?
HttpContext.Current.Request.UserHostAddress:
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
【讨论】:
HttpContext.Current.Request.UserHostAddress
这不会尝试考虑代理。为此,您可以使用Request.ServerVariables["HTTP_X_FORWARDED_FOR"]。但是,请确保您不要盲目相信它,因为它可能是伪造的。最好保留您信任的 IP 白名单。
【讨论】:
localhost