代码一:

function getip() {

static $ip = ”;

$ip = $_SERVER['REMOTE_ADDR'];

if(isset($_SERVER['HTTP_CDN_SRC_IP'])) {

$ip = $_SERVER['HTTP_CDN_SRC_IP'];

} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/’, $_SERVER['HTTP_CLIENT_IP'])) {

$ip = $_SERVER['HTTP_CLIENT_IP'];

} elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all(‘#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s’, $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {

foreach ($matches[0] AS $xip) {

if (!preg_match(‘#^(10|172\.16|192\.168)\.#’, $xip)) {

$ip = $xip;

break;

}

}

}

return $ip;

}

代码二:

<?php

error_reporting (E_ERROR | E_WARNING | E_PARSE);

if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){

$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];

}

elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){

$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];

}

elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){

$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

}

elseif (getenv(“HTTP_X_FORWARDED_FOR”)){

$ip = getenv(“HTTP_X_FORWARDED_FOR”);

}

elseif (getenv(“HTTP_CLIENT_IP”)){

$ip = getenv(“HTTP_CLIENT_IP”);

}

elseif (getenv(“REMOTE_ADDR”)){

$ip = getenv(“REMOTE_ADDR”);

}

else{

$ip = “Unknown”;

}

echo $ip;

?>

方法三:

<?php

$iipp = $_SERVER["REMOTE_ADDR"];

echo $iipp ;

?>

方法四:

<?php

$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];

$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

echo $user_IP

?>

方法五:

<?php

function get_real_ip()

{

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){

$ips = explode (“, “, $_SERVER['HTTP_X_FORWARDED_FOR']);

if($ip){

array_unshift($ips, $ip); $ip = FALSE;

}

for($i = 0; $i < count($ips); $i++){

if (!eregi (“^(10|172\.16|192\.168)\.”, $ips[$i])){

$ip = $ips[$i];

break;

}

}

}

return($ip ? $ip : $_SERVER['REMOTE_ADDR']);

}

echo get_real_ip();

?>

方法六:

<?php

if(getenv(‘HTTP_CLIENT_IP’)){

$onlineip = getenv(‘HTTP_CLIENT_IP’);

}

elseif(getenv(‘HTTP_X_FORWARDED_FOR’)){

$onlineip = getenv(‘HTTP_X_FORWARDED_FOR’);

}

elseif(getenv(‘REMOTE_ADDR’)){

$onlineip = getenv(‘REMOTE_ADDR’);

}

else{

$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

echo $onlineip;

?>