powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / узнать ip клиента
25 сообщений из 51, страница 1 из 3
узнать ip клиента
    #39049281
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть сервер на tomcat в локальной сети, есть к нему доступ из-вне через что-то с помощью проброса портов.
вопросы:
можно ли на сервере получить ip внешнего клиента?
можно ли на сервере получить ip локального клиента, который обращается к этому серверу через инет из другой локальной сети?

цель - блокировка от перебора логина/пароля с конкретного ip
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049312
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
конкретного юзверя нельзя. Ты увидишь и заблокируешь ещё до томката в линуксе, но только целый кусок сегмента или провайдера данного негодяя.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049324
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не на томкете делать надо - думаю на nginx или что там у вас или еще раньше ...

Если Ваш прокси пробрасывает заголовки (не удаляет их)

то можно среди этих поискать :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 // Проевка по IP  на прокси 
    public static String getClientIpAddr(HttpServletRequest request) {
        if (request == null) {
            return null;
        }
        String ip = request.getHeader("X-Forwarded-For");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_CLIENT_IP");
        }

        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        return ip;
    }
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049330
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а получить какой-нибудь параметр идентифицирующий юзера, браузер, железо или ещё что? что передается методом post.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049333
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня apache, но мне надо это поиметь в сервлете...
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049370
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяу меня apache, но мне надо это поиметь в сервлете...

ну и отлично - вот путь ваш апатч эти заголовки вам и предает,а вы их будете анализировать :)


вадяа получить какой-нибудь параметр идентифицирующий юзера, браузер, железо или ещё что? что передается методом post..

HttpServletRequest request - все что там есть - вы все сможете получить :)

и сессию (id) и куки и версию браузера ... и верcию ос итд ... все что ходите :)
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049378
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяцель - блокировка от перебора логина/пароля с конкретного ip

это делается другими методами :
1) чтобы боты не лазили и не перебирали : ставите капчу ( или если нужно быстро - просто и временное решение - скрытое поле)
2) на апаче (nginx) ставите количество запросов к конкретному ресурсу в минуту от одноногого пользователя (например 3 запроса в минуту) - если больше - ставите его в черный список - самый простой способ -
пусть ваши админы настроят iptables по таймауту .
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049421
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторэто делается другими методами :
1) чтобы боты не лазили и не перебирали : ставите капчу ( или если нужно быстро - просто и временное решение - скрытое поле)
2) на апаче (nginx) ставите количество запросов к конкретному ресурсу в минуту от одноногого пользователя (например 3 запроса в минуту) - если больше - ставите его в черный список - самый простой способ -
пусть ваши админы настроят iptables по таймауту .

1 от капчу юзера взвоют...
2 как определяется юзер? по ip?

мне надо именно в сервлете, проанализировать и сделать определённые действия.

авторну и отлично - вот путь ваш апатч эти заголовки вам и предает,а вы их будете анализировать :)
есть ли настройки у apache чтоб он это всё передавал?

но, перед апачем стоит ещё один комп/роутер с чем-то....

есть како-нибудь софт позволяющий посмотреть что приходит от клиента, более простое чем wireshark
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049456
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя1 от капчу юзера взвоют...


ее можно выдавать с 5 или любой n попытки.

вадя2 как определяется юзер? по ip?


Это очень сложный вопрос - в самом простом смысле - никак :)

если загорячиться , то токены разные или session id серверный итд...


вадяно, перед апачем стоит ещё один комп/роутер с чем-то....

есть како-нибудь софт позволяющий посмотреть что приходит от клиента, более простое чем wireshark


логи самого апача :) и его конфиг - зайдите на сервере сами все увидите :)
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049476
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторлоги самого апача :) и его конфиг - зайдите на сервере сами все увидите :)
смотрел, апач с этим не заморачивается, показывает ip компа/роутера в локальной сети, через который идет выход в инет...
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049482
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторлоги самого апача :) и его конфиг - зайдите на сервере сами все увидите :)
смотрел, апач с этим не заморачивается, показывает ip компа/роутера в локальной сети, через который идет выход в инет...

ну у него конфиги есть пусть выводит больше инфы - все заголовки итд ...

второй вариант - то что стоит перед апачем - просто выбрасывает все заголовки и всю инфу и подставляет свой ip /
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049569
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяесть сервер на tomcat в локальной сети, есть к нему доступ из-вне через что-то с помощью проброса портов.
вопросы:
можно ли на сервере получить ip внешнего клиента?
можно ли на сервере получить ip локального клиента, который обращается к этому серверу через инет из другой локальной сети?

цель - блокировка от перебора логина/пароля с конкретного ip1. getRemoteAddr ;
2. Только если адреса другой сети маршрутиризируемые и не используется NAT;
3. Remote Address Filter .
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049587
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это всё не обеспечивает ...

поправьте, если не прав :
из-вне приходит запрос через мой "роутер" я его вижу как ip роутера в моей локальной сети + порт(который назначает роутер) и через который сервлет общается с клиентом.
по номеру этого порта я могу идентифицировать клиента ?
и какое время жизни назначенного номера порта для данного соединения?
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049656
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1второй вариант - то что стоит перед апачем - просто выбрасывает все заголовки и всю инфу и подставляет свой ip /
в линуксе прямо в сетевой карте ставится фильтр.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049658
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
мой пример.
У меня провайдер в германии.
Чтобы перебросить порт 8080 на 80 или поставить блокировки-фильтры, ствится фильтр в сетевой карте (виртуальной).
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049660
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяэто всё не обеспечивает ...

поправьте, если не прав :
из-вне приходит запрос через мой "роутер" я его вижу как ip роутера в моей локальной сети + порт(который назначает роутер) и через который сервлет общается с клиентом.
по номеру этого порта я могу идентифицировать клиента ?
и какое время жизни назначенного номера порта для данного соединения?

никак, не заморачивайся.
клиента за натом никак не идентифицируешь, бань адрес нат, т.е. всю его локалку.
прокси используют ноль целых хрен десятых, проверкой можно тоже не заморачиваться.
прочих волшебных ид не существует.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049671
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
мой пример.
У меня провайдер в германии.
Чтобы перебросить порт 8080 на 80 или поставить блокировки-фильтры, ствится фильтр в сетевой карте (виртуальной).
не совсем понял, как это может мне помочь..

авторникак, не заморачивайся.
клиента за натом никак не идентифицируешь, бань адрес нат, т.е. всю его локалку.
прокси используют ноль целых хрен десятых, проверкой можно тоже не заморачиваться.
прочих волшебных ид не существует.
ну у меня так и сделано...
но хочется улучшить, дело в том, что помимо левых переборщиков, есть и официальные юзеры из одной локалки, и если несколько из них при входе сделают ошибку - сервер заблокирует всю контору, это как бы не очень хорошо
это конечно экстремальный случай, но пока есть время хочется иметь лучшее решение
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049672
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяну у меня так и сделано...
но хочется улучшить, дело в том, что помимо левых переборщиков, есть и официальные юзеры из одной локалки, и если несколько из них при входе сделают ошибку - сервер заблокирует всю контору, это как бы не очень хорошо
это конечно экстремальный случай, но пока есть время хочется иметь лучшее решение

если бы решение существовало, люди бы не заморачивались капчами и прочими подобными вещами.
можешь замедлить переборщика, либо как выше писали - ограничить рейт на файрволе (iptables)
либо даже в сервлете отслеживай количество неудачных входов с одного ип за период времени и бань на время или навсегда, в админке сделай разбан.
типа, сделать бан адреса на час, если приключился отпуск или новый год, клиенты час покурят, если у компа, по обращению разбанил.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049686
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дак как банить у меня решено, банить - я баню, только я вижу всех под одним ip собственной локалки, у меня сервер в локалке. и заходят на него снаружи ... вот в чем проблема.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049689
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а доступ к компу подключенному у инету - только один - на нем стоит прога мапящяя определённые порты на мой внутренний сервак.
т.е. к серверу обращение xxx.xxx.xxx.xxx:nnnn
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049710
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяа доступ к компу подключенному у инету - только один - на нем стоит прога мапящяя определённые порты на мой внутренний сервак.
т.е. к серверу обращение xxx.xxx.xxx.xxx:nnnn


Ну заголовки.. Пусть в заголовках передают тебе с прокси из реальные ip.

Опять же у тебя есть session id ... Функции запомнить меня.... куки итд....

Токены аля oauth token итд.

Там где формы твои ставь вместо капчи скрытые поля и меняй значения в них периодически по заведомо известному тебе алгоритму... На сервере проверяй скрытые поля и если запрос не с твоей страницы заворачивается... Если капчу лень делать....


Это называется Cross Site Request Forgery (CSRF) - Spring
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049713
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но это все косметика... Основная работа должна идти га прокси... Фильтровать нужно там а уж каким образом это делается. Программно например через iptables... Nginx или аппаратно через циску или чтоттам у вас.... И дело это не твоё а админов... Поставь им задачу и пивас)
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049720
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял. У тебя корпоратив или публичный сайт?
Если первое, то ты можешь заслать на клиента любой свой код. И и отслеживать любые атаки.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049721
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не перебарщивай.
Качай скилы как программист, а не админ.
...
Рейтинг: 0 / 0
узнать ip клиента
    #39049725
output
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать банить по отпечатку (fingerprint) браузера.
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / узнать ip клиента
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]