Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для UBUNTU
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344

Получение клиентского IP

01.08.2023, 07:41. Показов 2694. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Для уточнения деталей, есть сервис находится за NAT сервером. Снаружи обращаются по доменной ссылке site.ru далее это все благополучно работает, но есть потребность получить IP адрес клиента совершившего обращение к сервису. Стандартные средства перепробованы возвращает IP адрес сервера NAT, дошли до такого:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        private string GetUserIP()
        {
            try
            {
                using (var client = new WebClient())
                {
                    // Запрос к сервису ipify для получения публичного IP-адреса клиента
                    string response = client.DownloadString("https://api.ipify.org?format=text");
                    return response.Trim();
                }
            }
            catch (Exception ex)
            {
                // Обработка ошибок, если сервис недоступен или произошла другая проблема
                // Возвращаем пустую строку или выполняем необходимые действия
                return "";
            }
        }
И все равно нет. Нужно просто получить IP клиента.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2023, 07:41
Ответы с готовыми решениями:

Разработка БД и клиентского ПО
Профессионально занимаюсь разработкой программного обеспечения. Специализируюсь на базах данных на СУБД MSSQL и клиентских программах к...

Разработка клиентского приложения
Нужен совет. Задача такая: необходимо разработать приложение(для наглядности предположим, что это игровое приложение), которое не...

Создание клиентского интерфейса
Доброго времени суток! Посоветуйте пожалуйста на чем лучше написать приложение, где пошагово имеются поля для ввода информации, а затем...

32
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
02.08.2023, 22:14
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
определяйте его на белом сервере и записывайте во внутренюю БД через ваш сервис
Ну вот у человека была проблема, как этот IP прозрачно прокинуть на внутренний сервис в рамках любого запроса, не придумывая костыли с раздельными логами или отдельными методами для его передачи/сохранения.
0
Markiz Red Devil
 Аватар для Ludwig Valentin
171 / 296 / 26
Регистрация: 11.08.2022
Сообщений: 3,868
02.08.2023, 22:16
Цитата Сообщение от kotelok Посмотреть сообщение
у человека была проблема, как этот IP прозрачно прокинуть на внутренний сервис в рамках любого запроса
человек толковый?
открыть порты во внутреннюю сеть на роутере для вызова внутреннего сервиса с белого сервера в DMZ.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
02.08.2023, 22:20
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
открыть порты во внутреннюю сеть на роутере
Так иногда делают, но обычно для каких-то бинарных протоколов. А в случае же с http, если просто порт прокинуть, придётся на всех этих маленьких внутренних сервисах заморачиваться с настройкой HTTPS, а это неудобно в поддержке и не особо надёжно.
0
Markiz Red Devil
 Аватар для Ludwig Valentin
171 / 296 / 26
Регистрация: 11.08.2022
Сообщений: 3,868
02.08.2023, 22:23
Цитата Сообщение от kotelok Посмотреть сообщение
Так иногда делают, но обычно для каких-то бинарных протоколов.
не возражаю. но БД тоже хорошо защищать SSL
что https, что БД на SSL требуют сертификатов безопасности.
а это действительно непросто.
и потом, их надо периодически обновлять.
или это задача админа?
0
Эксперт .NET
 Аватар для Usaga
14792 / 9566 / 1367
Регистрация: 21.01.2016
Сообщений: 36,066
03.08.2023, 06:09
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
но БД тоже хорошо защищать SSL
Не обязательно, если СУБД во внешнюю сеть не торчит. Тогда ничего не надо защищать.

Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
открыть порты во внутреннюю сеть на роутере для вызова внутреннего сервиса с белого сервера в DMZ.
Не надо так делать. Есть нормальный проверенный способ - Reverse Proxy.

UBUNTU, я не совсем понял твои печали. У тебя сервис на домашнем компе, за домашним роутером что ли?
0
 Аватар для UBUNTU
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
03.08.2023, 08:00  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
я не совсем понял твои печали. У тебя сервис на домашнем компе, за домашним роутером что ли?
нет, сервис не на дом. компе, повешан временно вот в таком формате. и как долго это временно будет я не знаю... нет ничего постояннее чем временное ))) сервис висит в офисе, если найдет свое применение перенесем на хостинг, пока что-то типа беты.

грубо говоря пока так: Модем провайдера > Cisco маршрутизаторы > Kerio Control > Lan > Сервис этот.

В случае с кодом выше теперь возвращается IP модема через которого пошел трафик так как в сети работает 7 модемов в балансеровке.
0
Эксперт .NET
 Аватар для Usaga
14792 / 9566 / 1367
Регистрация: 21.01.2016
Сообщений: 36,066
03.08.2023, 08:15
UBUNTU, NAT, через DMZ или иначе, будет "отряхивать" реальный IP, с которого пришёл запрос. Ты с этим можешь сделать ничего.

Чтобы видеть реальный IP, запрос от клиента должен прилетать напрямую Kestrl'у или веб-серверу (обычному, или в режиме reverse proxy).

Иными словами, вам ПРИДЁТСЯ покупать хостинг и забывать про этот ананизм с "офисным" сервером. Что там у вас за фирма такая, что не может косярь в месяц выделить на виртуалку? Это же смех на палочке.

На крайний случай, можно арендовать очень дешёвый VPS, развернуть там nginx и туннель до офиса, через VPN или SSH и держать реальное приложение у себя в офисе.

Но это всё какая-то ахинея и ананизм. Прямо как есть. Я не могу представить каких-то весомых аргументов в пользу того, что вы там в офисе делаете. Такое мозгоклюйство тупо дороже денег за виртуалку у хостера.
1
 Аватар для UBUNTU
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
03.08.2023, 08:34  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Что там у вас за фирма такая, что не может косярь в месяц выделить на виртуалку? Это же смех на палочке.
Выделить могут и куплено уже, просто на бете пока внутри фирмы.

Цитата Сообщение от Usaga Посмотреть сообщение
Такое мозгоклюйство тупо дороже денег за виртуалку у хостера.
Уже берем ) раз вариков нет затестить до...

Основная проблема в том, что купить VDS и тд. и т.п не проблема, а вот хранилище под файлы дорого встанет. В сервисе грузятся файлы от клиентов, прикрепляются к заявкам образно говоря, до 200 мб подписывание ключом gost и т. д. придется вытаскивать весь сервер с хранилищем в дата центр и брать место в стойке.
0
Эксперт .NET
 Аватар для Usaga
14792 / 9566 / 1367
Регистрация: 21.01.2016
Сообщений: 36,066
03.08.2023, 08:34
Вот так бы сразу)
0
 Аватар для UBUNTU
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
03.08.2023, 08:35  [ТС]
А это пздц дорого )
0
Эксперт .NET
 Аватар для Usaga
14792 / 9566 / 1367
Регистрация: 21.01.2016
Сообщений: 36,066
03.08.2023, 08:41
Цитата Сообщение от UBUNTU Посмотреть сообщение
, а вот хранилище под файлы дорого встанет.
Да я бы не сказал, что дорого. Накопители на старых HDD стоят не особо и дорого.

Вот, примера ради, - vk cloud. Виртуалка с 1000Гб HDD - 5000 рублей в месяц. Если вам есть, чем набивать такой объём, то и 5К найдутся.

Там же, горячий blob storage - 2100 в месяц. Это если надо обращаться из любого сервера, а не только с виртуаки у них же купленной.

Это не деньги вообще, для юрлица. Даже маленького. C'mon...

Добавлено через 1 минуту
Цитата Сообщение от UBUNTU Посмотреть сообщение
А это пздц дорого )
Дорого нынче вычислительные ресурсы стоят, особенно GPU. Но не хранилища. Особенно "холодные".
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
04.08.2023, 22:36
Цитата Сообщение от Usaga Посмотреть сообщение
Не надо так делать. Есть нормальный проверенный способ - Reverse Proxy.
мммм... можно подробней? Если я банально проброшу порт, тот же 443 на машину -- чем это чревато? Либо я таки не правильно понял посыл выше.
0
Эксперт .NET
 Аватар для Usaga
14792 / 9566 / 1367
Регистрация: 21.01.2016
Сообщений: 36,066
05.08.2023, 06:34
Wolfdp, это я в контексте желания ТСа видеть IP-адрес клиента. Так-то простой проброс порта ничем не чреват.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2023, 06:34

Архитектура клиентского приложения
Итак, здравствуйте. Собственно прошу помощи у тех, кто уже успел пописать клиентские приложения под андроид. Я занялся разработкой не так...

Вызов клиентского скрипта
я создал простой скрипт window.alert("Сообщение") в проэкте он находится в файле "Сообщение.js" Как сделать,...

Разработка клиентского приложения на C#
Всем доброго времени суток! Подскажите как я могу подключиться через приложение к хостингу, что бы получить что то вроде Filezilla. Буду...

Задачи клиентского javascript
С созданием менюшки справился. Что еще делают на стороне клиента конкретного при помощи js ?

Архитектура клиентского приложения
Реализую проект клиентского приложения и возникла заморочка с архитектурой. До этого были простые 3-4 оконные приложения. Впервые дали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru