[英]How can i get IP address of systems in a local network which accessing the webpage from local server using php
我有一個通過代理服務器連接到Internet的局域網,代理服務器IP地址為192.168.0.1
。 網絡中的所有系統都手動分配了IP地址,例如192.168.0-6.1-255,子網掩碼255.255.248.0, Default gateway 192.168.0.1
我在本地網絡中創建了另一台服務器以供本地訪問我的網站,其IP地址為192.168.0.25
,子網掩碼255.255.255.0,默認網關192.168.0.25
現在,本地網絡中的所有系統都可以使用該地址訪問該網站
http://192.168.0.25/
我必須跟蹤訪問我網站的所有系統,因此我在php中使用了功能$_SERVER['REMOTE_ADDR']
。 但是我得到訪問我的網站的所有系統的IP地址與代理服務器的IP地址( 192.168.0.1
)相同。
請幫助我獲取每個系統的正確IP地址。
嘗試這個
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
echo $userIP = getRealIpAddr();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.