php获取客户端IP地址的几种方法

本文转载自:   http://publish.it168.com/2006/0310/20060310036801.shtml

 

 

【IT168 服务器学院PHP Code one:
<?
$iipp
=$_SERVER["REMOTE_ADDR"];
echo 
$iipp;
?>
 
PHP Code two:
<?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;
?>

///

<?
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 Code three:
<? 
//php获取ip的算法
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:".$ip 
?>
 
PHP Code four:
<?
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;
?>

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值