Я получаю IP-адрес клиента от ASP.NET. Но какой-то клиентский IP-адрес получил 127.0.0.1. Что такое проблема. Как получить действительный IP-адрес клиента?Неверный IP-адрес клиента
Я использую этот код:
public static string GetIP()
{
string clientIp = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(clientIp))
{
string[] forwardedIps = clientIp.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
clientIp = forwardedIps[forwardedIps.Length - 1];
}
if (string.IsNullOrEmpty(clientIp))
clientIp = HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"];
if (string.IsNullOrEmpty(clientIp))
clientIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
return clientIp.ToString();
}
127.0.0.1 - адрес локального хоста, я полагаю, что вы подключаетесь к странице с того же компьютера, на котором он размещен? –
просто догадаться? но может быть проблемой прокси. взгляните на http://stackoverflow.com/questions/7445592/what-is-the-difference-between-http-client-ip-and-http-x-forwarded-for – sircapsalot
sircapsolat, я так думаю. Но я не мог найти, как решить. –