php获取客户端IP地址方法总结

用php获取客户端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获取ip的算法
:
<? php
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
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 ;
?>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值