2017-03-28 41 views
-3
if (getenv('HTTP_CLIENT_IP')) { 
    $ipaddress = getenv('HTTP_CLIENT_IP'); 
} else if(getenv('HTTP_X_FORWARDED_FOR')) { 
    $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); 
    $ipaddress = explode(",", $ipaddress); 
    $ipaddress = $ipaddress[0]; 
} 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'; 
} 

如何從CDN獲取真實IP?我嘗試谷歌它,但沒有任何關於此的帖子。任何人都可以幫忙如何從CDN獲取客戶端真實IP

+1

'CDN真正的IP'是什麼意思?詳細和具體。 – pvg

+0

明顯的問題:什麼CDN?沒有普遍的答案。 (你有什麼是錯的。) – duskwuff

回答

-2

嘗試用$ _ SERVER

$ipaddress = $_SERVER('HTTP_CLIENT_IP'); 

使用有時GETENV不返回正確的IP地址,所以我們可以使用$ _ SERVER代替。

+0

如何aboiut getenv('HTTP_CLIENT_IP') –

+0

這兩個函數都是相同的,對於IP地址我們有$ _SERVER ['REMOTE_ADDR']或$ _SERVER ['REMOTE_HOST'] –

+0

@PramodPatil它完全取決於關於海報實際需要的知識產權,根本不清楚這個問題。 – pvg