2015-09-05 3 views
-1

Мне нужно получить публичный IP-адрес клиента.Как получить общедоступный IP-адрес клиента

Я попытался

getenv('REMOTE_ADDR') and also $_SERVER['REMOTE_ADDR'] 

но он возвращает только частный IP ...

+0

Вы используете сервер на своей локальной машине? – lifeisfoo

+0

IP-адреса не имеют реального значения для сервера, поскольку топология, которую они имеют смысл по отношению к не под управлением серверов. Таким образом, адресам нельзя доверять. Так зачем? – arkascha

+4

Возможный дубликат [Получить IP-адрес клиента с помощью PHP] (http://stackoverflow.com/questions/15699101/get-the-client-ip-address-using-php) – Shehary

ответ

2

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; 

} 
0

Ищу с той же проблемой и нашел большой основанный на 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 для других ,

+0

Он возвращает IP-адрес сервера вместо IP-адреса клиента – 151291

Смежные вопросы