1. 程式人生 > >PHP獲取客戶端和服務器端IP(轉)

PHP獲取客戶端和服務器端IP(轉)

light 代理ip pre 客戶端測試 function 變量 clas env 環境

客戶端的ip變量:

$_SERVER[‘REMOTE_ADDR‘] :客戶端IP,也有可能是代理IP

$_SERVER[‘HTTP_CLIENT_IP‘]:代理端的IP,可能存在,也可能偽造

$_SERVER[‘HTTP_X_FORWARD_FOR‘] :用戶在哪個ip上使用的id,可能存在,也可能偽造

服務端的ip變量:

$_SERVER[‘SERVER_NAME‘] :需要使用函數gethostname()來獲得,這個無論是服務器端還是客戶端都能正常顯示。

$_SERVER[‘SERVER_ADDR‘]:服務器端的ip地址,在服務器端測試ip地址,在客戶端測試正常

getnev 獲得系統的環境變量:

例子:

<?php
class getIp(){
     function ClientIp(){
    $cIP= getenv($_SERVER[‘REMOTE_ADDR‘]);
    $cIP1 = getenv($_SERVER[‘HTTP_X_FORWORD_FOR‘]);
    $cIP2 = getenv($_SERVER[‘HTTP_CLIENT_IP‘]);
   $cIP1?$cIP= $cIP1?null;
    $cIP2?$cIP = $cIP2?null;
   return $cIP;
}
     function serverIP(){
       return gethostbyname($_SERVER[‘SERVER_NAME‘]);
}
}
$getIP  = new getIP();  
$clientIp = getIP::clientIP();  
$serverIp = getIP::serverIP();  
     
 
?>

  

PHP獲取客戶端和服務器端IP(轉)