在ASP.NET中,直接使用>通常会产生中介服务器的IP地址(例如代理或负载平衡器),而不是实际客户端的IP。 对于需要准确的IP地址用于安全性或分析的应用程序,这是有问题的。
>>一种更可靠的方法涉及检查Request.UserHostAddress
>服务器变量。当前,此变量包含原始客户端IP地址,尤其是在带有代理或负载平衡器的情况下。 但是,它可能列出多个IP。
HTTP_X_FORWARDED_FOR
c#
vb.net
protected string GetClientIpAddress() { var context = System.Web.HttpContext.Current; string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (!string.IsNullOrWhiteSpace(ipAddress)) { return ipAddress.Split(',')[0].Trim(); } return context.Request.ServerVariables["REMOTE_ADDR"]; }
这些功能优先级,提取第一个IP地址。如果此变量丢失,它们会落后于。 这种方法提高了您的ASP.NET应用程序中IP地址检索的准确性,从而导致更精确的用户识别和更好的基于IP的控件。
以上是如何在ASP.NET中可靠地检索用户的真实IP地址?的详细内容。更多信息请关注PHP中文网其他相关文章!