@romicohen
Системный Архитектор

Как можно в PHP-скрипте получить на 100% достоверную информацию об IP веб-клиента?

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

Даже если у него цепочка VPN или типа того, все равно мы на сервере должны иметь доступ к последнему звену этой цепи в качестве его IP.

Контекст:

- Мне для механизма авторизации нужно достоверно знать IP клиента. При этом - мне неважно, что там у него - впн или сокс-прокси или еще чего, у меня обратная задача - дать доступ только с определенных IP. А это, как я понимаю, подделать невозможно в принципе. Да?

В какой переменной сервера это находится? Или как еще?

Кто вообще в этом шарит на 101% ))) Буду рад совету.

P.S. блин) так и думал что поймут меня неправильно)) мне нафиг не нужен ни "реальный IP" клиента (тем более что его "реальный" IP это вообще какой-нибудь 192.168.хххххх))))), ни его MAC-адрес, ничего такого мне не нужно. Мне нужно 100% достоверно узнать в PHP-скрипте последний IP-адрес в цепочке, через которую он коннектится с моим сервером. Например поднял он OpenVPN на серваке и выходит через него, в этом случае нужным мне IP будет адрес этого сервака где OpenVPN - как мне получить этот IP со 100% достоверностью?
  • Вопрос задан
  • 257 просмотров
Решения вопроса 2
toxa82
@toxa82
Ты достоверно только можешь знать IP с которого пришел запрос на сервак, это переменная $_SERVER['REMOTE_ADDR']. А кто стоит за этим IP дальше не известно, впн, прокси, один из серваков в провайдере или реальный юзер, никак ты не узнаешь. Есть некоторые впн/прокси сервисы которые присылают доп IP в заголовках (типа REAL_USER_IP), но надеяться на них не стоит, не все их шлют, и их можно самому прислать и прописать там что угодно.
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
$_SERVER['REMOTE_ADDR']
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@romicohen Автор вопроса
Системный Архитектор
По результатам голосования победил

$_SERVER['REMOTE_ADDR']

))))))))))

Надеюсь, это 101% верное решение ))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы