http://www.php.ru/forum/viewtopic.php?t=29108
Цитата:
Dmitryp >
Дано: сайт, веб сервер в локальной сети за натом, шлюз с натом, китайские спамеры.
Ситуация: китайские спамеры раз в 2 дня, ложа болт на капчу, делятся своими философскими размышлениями на сайте.
Надо: узнать IP спамеров.
Пробовал через REMOTE_ADDR, HTTP_X_FORWARDED_FOR, HTTP_VIA. Либо ничего не получаю, либо IP шлюза.
Вопрос, как организовать получение IP адреса посетителей. Как я понимаю надо передавать этот адрес как-то со шлюза (это как бы совсем не по пхп вопрос, но малоли).
Второй вариант - на другом серваке с реальным адресом положить скрипт и заставить браузер пользователя при обращении к сайту (который на сервере за натом), обращаться к этому скрипту. Как это реализовать, в какую сторону гуглить?
з.ы. сменить капчу прошу не предлагать, это самом собой, но надо таки айпишник вычислить.
Сообщение MiksIr » Пт ноя 26, 2010 19:02>
НАТ не скрывает адрес посетителя. Видимо у вас другая архитектура.
Второй вариант - достаточно подключать на странице пустой js файл, который лежит как раз на другом серерве.
Сообщение Dmitryp » Пт ноя 26, 2010 20:08>
Только что разобрался, там все таки НАТ, но так проброшен порт.
На счет скрипта понял.
Благодарю за ответ.
Сообщение MiksIr » Пт ноя 26, 2010 20:19>
Если там что-то типа прокси для проброса порта, то адрес клиента не получить никак. Могу лишь посоветовать пробрасывать с помощью http прокси (например, поставить nginx в режиме прокси) - его можно заставить добавлять в http запрос дополнительный заголовок, где указан IP клиента.
Сообщение Volt(220) » Вт ноя 30, 2010 14:27>
У нас подобная задача была. Перенастроили сервер(ISA) чтоб он не свой ip совал, а пробрасывал ip клиента.
В конечном итоге вы что-то знаете только потому, что хотите верить, что знаете.