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

本文提供了多种使用PHP获取客户端真实IP地址的方法,包括直接通过$_SERVER变量获取和通过多个环境变量检查来确保准确性。
用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;
?>

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值