как получить IP за NAT с помощью php? - PullRequest
5 голосов
/ 21 декабря 2011

Возможно ли получить IP за NAT в PHP? Я использую $_SERVER["REMOTE_ADDR"] для получения IP-адреса клиента. Это не дает точный IP-адрес клиента, который находится за NAT.

Ответы [ 5 ]

4 голосов
/ 21 декабря 2011

Невозможно получить IP за NAT, используя HTTP и php.

3 голосов
/ 21 декабря 2011

Нет, не возможно. NAT означает Сетевой адрес Трансляция - IP-адрес пакетов перезаписывается на устройстве NAT, так что общедоступный IP-адрес является единственным, насколько ваш сервер знает.

Однако вы можете использовать некоторые приемы - такие как проверка внутреннего IP-адреса с помощью Java-апплета. См. Это: Получить правильный локальный IP-адрес из Java-апплета

2 голосов
/ 21 декабря 2011

если они используют прокси, вы можете использовать

       $real_ip = $_SERVER['HTTP_X_FORWARDED_FOR']

в противном случае это невозможно

2 голосов
/ 21 декабря 2011

Нет. PHP видит только внешний IP.

'REMOTE_ADDR' IP-адрес, с которого пользователь просматривает текущую страницу.

0 голосов
/ 21 декабря 2011

Вы не можете видеть личный адрес клиента, и, как правило, вам все равно, чтобы увидеть его, потому что вы не можете получить к нему доступ.Даже если он использовал прокси, иногда вы можете получить адрес по:

 $_SERVER['HTTP_X_FORWARDED_FOR']
...