[转载]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 获得系统的环境变量:

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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();  
     
 
?>

猜你喜欢

转载自blog.csdn.net/m0_37962554/article/details/81060474