/** * 获取真实HTTP客户端IP,按次序尝试 * * @return string */ public static function getClientIP() { if (strlen(self::$client_ip) >= 7) { return self::$client_ip; } $keys = array('HTTP_CLIENT_IP', 'HTTP_X_REAL_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR'); $server = self::getInstance('SERVER'); foreach ($keys as $key) { $ipaddr = $server->get($key); if ($ipaddr && strlen($ipaddr) >= 7) { self::$client_ip = $ipaddr; break; } } return self::$client_ip; }
static function getClientIP() { if (strlen(self::$client_ip) >= 7) { return self::$client_ip; } $UC = array('HTTP_CLIENT_IP', 'HTTP_X_REAL_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR'); $SF = self::getInstance('SERVER'); foreach ($UC as $C) { $SC = $SF->get($C); if ($SC && strlen($SC) >= 7) { self::$client_ip = $SC; break; } } return self::$client_ip; }