Возможно ли получить IP за NAT в PHP? Я использую $_SERVER["REMOTE_ADDR"] для получения IP-адреса клиента. Это не дает точный IP-адрес клиента, который находится за NAT.
$_SERVER["REMOTE_ADDR"]
Невозможно получить IP за NAT, используя HTTP и php.
Нет, не возможно. NAT означает Сетевой адрес Трансляция - IP-адрес пакетов перезаписывается на устройстве NAT, так что общедоступный IP-адрес является единственным, насколько ваш сервер знает.
Однако вы можете использовать некоторые приемы - такие как проверка внутреннего IP-адреса с помощью Java-апплета. См. Это: Получить правильный локальный IP-адрес из Java-апплета
если они используют прокси, вы можете использовать
$real_ip = $_SERVER['HTTP_X_FORWARDED_FOR']
в противном случае это невозможно
Нет. PHP видит только внешний IP.
'REMOTE_ADDR' IP-адрес, с которого пользователь просматривает текущую страницу.
Вы не можете видеть личный адрес клиента, и, как правило, вам все равно, чтобы увидеть его, потому что вы не можете получить к нему доступ.Даже если он использовал прокси, иногда вы можете получить адрес по:
$_SERVER['HTTP_X_FORWARDED_FOR']