PHP获取客户端和服务器端IP(转)

客户端的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();  
     
 
?>

  

posted @ 2017-10-25 16:58  php小小菜鸟  阅读(2368)  评论(0编辑  收藏  举报