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