我需要獲取客戶端的公網IP地址。如何獲取客戶端的公網IP地址
我曾嘗試
getenv('REMOTE_ADDR') and also $_SERVER['REMOTE_ADDR']
但它只返回私有IP ...
我需要獲取客戶端的公網IP地址。如何獲取客戶端的公網IP地址
我曾嘗試
getenv('REMOTE_ADDR') and also $_SERVER['REMOTE_ADDR']
但它只返回私有IP ...
伊夫用這個:
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網站網址:https://www.ipify.org/
這是爲時已晚asnwer就這一點,但它可能是halpful他人。
它返回服務器IP而不是客戶端IP – 151291
你在本地機器上運行服務器嗎? – lifeisfoo
IP地址對服務器來說沒有實際價值,因爲它們相關的拓撲不受服務器控制。所以地址是不可信的。那爲了什麼? – arkascha
[使用PHP獲取客戶端IP地址]的可能重複(http://stackoverflow.com/questions/15699101/get-the-client-ip-address-using-php) – Shehary