Мне нужно получить публичный IP-адрес клиента.Как получить общедоступный IP-адрес клиента
Я попытался
getenv('REMOTE_ADDR') and also $_SERVER['REMOTE_ADDR']
но он возвращает только частный IP ...
Мне нужно получить публичный IP-адрес клиента.Как получить общедоступный IP-адрес клиента
Я попытался
getenv('REMOTE_ADDR') and also $_SERVER['REMOTE_ADDR']
но он возвращает только частный IP ...
Ive использовал это:
function GetIp(){
//IP ADDRESS
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
$AgentIp = $ipaddress;
return $AgentIp;
}
Ищу с той же проблемой и нашел большой основанный на API решения.
Чтобы получить IP-адрес общественности, мы можем можно использовать следующий код:
<?php
$ip = file_get_contents('https://api.ipify.org');
echo "My public IP address is: " . $ip;
?>
API URL сайта:https://www.ipify.org/
Это слишком поздно, чтобы asnwer на это, но это может быть halpful для других ,
Он возвращает IP-адрес сервера вместо IP-адреса клиента – 151291
Вы используете сервер на своей локальной машине? – lifeisfoo
IP-адреса не имеют реального значения для сервера, поскольку топология, которую они имеют смысл по отношению к не под управлением серверов. Таким образом, адресам нельзя доверять. Так зачем? – arkascha
Возможный дубликат [Получить IP-адрес клиента с помощью PHP] (http://stackoverflow.com/questions/15699101/get-the-client-ip-address-using-php) – Shehary