request.ServerVariobles[“ remote_addr”]在Edge

问题描述 投票:0回答:0
不从事Edge和Chrome等基于铬的浏览器。但是,相同的代码在Firefox中的运行良好。

在这里是代码:

string ipAddress = Request.ServerVariables["REMOTE_ADDR"]; if (string.IsNullOrEmpty(ipAddress) || ipAddress.ToLower() == "unknown" || ipAddress == "::1") ipAddress = Request.UserHostAddress;

该代码返回Firefox中的“ 127.0.0.1”,但相同的代码返回” :: 1“在Edge and Chrome中”。

这似乎是一个基于铬的浏览器特定问题。

你认为什么?这是一个已知问题吗?边缘和镀铬浏览器是否有其他代码?

	
您应该使用X-Forwhered-For

string ipAddress = Request.ServerVariables["REMOTE_ADDR"]; if (string.IsNullOrEmpty(ipAddress) || ipAddress.ToLower() == "unknown" || ipAddress == "::1") { ipAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(ipAddress) || ipAddress.ToLower() == "unknown") { ipAddress = Request.UserHostAddress; } } if (string.IsNullOrEmpty(ipAddress) || ipAddress.ToLower() == "unknown") { ipAddress = Request.UserHostAddress; }

asp.net microsoft-edge chromium request.servervariables asp.net-4.8
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.