获取客户端IP的函数,解决了在有重定向时获取到唯一真实的ip地址
/** * 获取用户ip地址 * * @return: * 成功:返回IP地址 * 失败:返回unknown * */ function getIp() { $ips = array(); if ($_SERVER['HTTP_CLIENT_IP']) { $ips[] = $_SERVER['HTTP_CLIENT_IP']; } if ($_SERVER['HTTP_X_FORWARDED_FOR']) { $tmp = explode(', ', $_SERVER['HTTP_X_FORWARDED_FOR']); $ips = array_merge($ips, $tmp); } if ($_SERVER['REMOTE_ADDR']) { $ips[] = $_SERVER['REMOTE_ADDR']; } $ip = ''; foreach ($ips as $k => $v) { if(!preg_match('/^(10|172\.16|192\.168)\./', $v) && strtolower($v) != 'unknown') { $ip = $v; break; } } return $ip; }
Comments | NOTHING