NagaNimesh 11474558 Ответов: 2

Как получить IP-адрес клиента, который когда-либо попадал на мой размещенный url


Привет всем пожалуйста помогите мне ,

у нас есть приложение, размещенное на сервере, а также у нас есть n клиентов, поэтому я хочу знать ip-адрес клиента, который когда-либо обращался к моему url-адресу.?

Что я уже пробовал:

string IPAdd = строка.Пустой;
IPAdd = Запрос.ServerVariables ["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(IPAdd))
IPAdd = Запрос.ServerVariables ["REMOTE_ADDR"];
lblIP.Текст = IPAdd;

F-ES Sitecore

Что не так с кодом, который вы используете? Кстати, вы можете получить только IP-адрес машины, которая делает запрос на ваш сервер, который может и не быть клиентом. Именно так работает интернет.

2 Ответов

Рейтинг:
17

NagaNimesh 11474558

Спасибо, что ответили.
его показать ip-адрес":: 1". его не работает, пожалуйста, помогите мне

Рейтинг:
0

NagaNimesh 11474558

public static string GetVisitorIPAddress(bool GetLan = false)
    {
        string visitorIPAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

        if (String.IsNullOrEmpty(visitorIPAddress))
            visitorIPAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

        if (string.IsNullOrEmpty(visitorIPAddress))
            visitorIPAddress = HttpContext.Current.Request.UserHostAddress;

        if (string.IsNullOrEmpty(visitorIPAddress) || visitorIPAddress.Trim() == "::1")
        {
            GetLan = true;
            visitorIPAddress = string.Empty;
        }

        if (GetLan)
        {
            if (string.IsNullOrEmpty(visitorIPAddress))
            {
                //This is for Local(LAN) Connected ID Address
                string stringHostName = Dns.GetHostName();
                //Get Ip Host Entry
                IPHostEntry ipHostEntries = Dns.GetHostEntry(stringHostName);
                //Get Ip Address From The Ip Host Entry Address List
                IPAddress[] arrIpAddress = ipHostEntries.AddressList;

                try
                {
                    visitorIPAddress = arrIpAddress[arrIpAddress.Length - 2].ToString();
                }
                catch
                {
                    try
                    {
                        visitorIPAddress = arrIpAddress[0].ToString();
                    }
                    catch
                    {
                        try
                        {
                            arrIpAddress = Dns.GetHostAddresses(stringHostName);
                            visitorIPAddress = arrIpAddress[0].ToString();
                        }
                        catch
                        {
                            visitorIPAddress = "127.0.0.1";
                        }
                    }
                }
            }
        }


        return visitorIPAddress;
    }