簡體   English   中英

我如何獲取局域網中使用php從本地服務器訪問網頁的系統的IP地址

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM