客户端的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 获得系统的环境变量:
例子:
<?phpclass 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(转)
原文地址:http://www.cnblogs.com/qichao123/p/7729836.html