Member 13509784 Ответов: 3

Я хочу сохранить IP-адреса клиентов, которые регистрируются в моем приложении


Я хочу сохранить IP-адреса клиентов, которые регистрируются в моем приложении, и сохранить их IP-адреса в базе данных.В моем случае ip-адрес моего dev-сервера сохраняется в БД

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

var ip = HttpContext.Соединение.RemoteIpAddress

он сохраняет ip-адрес моего dev-сервера.

3 Ответов

Рейтинг:
2

OriginalGriff

Проверьте, где находится ваш dev-сервер: обычно в процессе разработки он находится на вашей машине, поэтому у него действительно будет тот же IP-адрес, что и у клиента!

Имейте в виду, что в веб - приложениях IP-адрес не будет индивидуальным для клиентского компьютера-это будет IP-адрес маршрутизатора, через который он подключается, поэтому весь офис будет использовать один и тот же IP-адрес для вашего сервера.
И имейте в виду, что большинство IP - адресов не статичны-они могут меняться каждый раз, когда устройство подключено, поэтому использование их в качестве механизма безопасности не будет работать надежно, если это было вашим намерением.


Рейтинг:
1

Suvendu Shekhar Giri

короткий ответ:

private string GetUserIP()
    {
        string ipList = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

        if (!string.IsNullOrEmpty(ipList))
        {
            return ipList.Split(',')[0];
        }

        return Request.ServerVariables["REMOTE_ADDR"];
    }

ссылка: c# - Как получить IP-адрес клиента пользователя в ASP.NET-что? - переполнение стека[^]

Длинный ответ: прочитайте нижеприведенное обсуждение, особенно те, у кого есть огромные голоса.
c# - Как получить IP-адрес клиента пользователя в ASP.NET-что? - переполнение стека[^]

Надеюсь, это поможет :)


Рейтинг:
0

biswajit mishra

Строка IP = HttpContext.Current.Запрос.ServerVariables["HTTP_X_FORWARDED_FOR"];

если (строка.IsNullOrEmpty(IP))
ИС = свойство HttpContext.Тока.Запрос.ServerVariables["REMOTE_ADDR"];