当前位置:首页 » 编程语言 » 获取客户端ip地址php

获取客户端ip地址php

发布时间: 2024-12-06 03:17:19

‘壹’ 利用php怎么获取用户ip

php获取用户真实ip的方法:
方法1:
//获取REMOTE_ADDR属性,直接可以得到ip
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
方法2:
//从Server中获取HTTP_VIA,如果获取到就用HTTP_X_FORWARDED_FOR的值替换,如果获取不到就取REMOTE_ADDR的值。
$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;
方法3:
function getRealIp()
{
$ip=false; //初始化ip为false
if(!empty($_SERVER["HTTP_CLIENT_IP"])){ //如果HTTP_CLIENT_IP不为空
$ip = $_SERVER["HTTP_CLIENT_IP"]; //获取HTTP_CLIENT_IP的值
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //如果HTTP_X_FORWARDED_FOR不为空
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
//把HTTP_X_FORWARDED_FOR的值用,分割后存放数组ips
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]; //获得真实ip
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();

‘贰’ php注册系统咋么获得用户ip

只需要一行代码即可!~~

$ip=$_SERVER['REMOTE_ADDR']; // 获取访客的 IP

‘叁’ 用php来获得客户端服务器ip的方法

<?php

echo "当前脚碰庆返本服务器的主机名 " gethostbyaddr($_SERVER[ REMOTE_ADDR ]) "<br /><hr />"; echo "获得当前运行PHP脚本(页面)差和所在的服务器的 IP 地址:" $_SERVER[ SERVER_ADDR ] "<br /><hr />"; echo "获得当前运行PHP脚本(页面)所在的服务器的 主机名:" $_SERVER[ SERVER_NAME ]; echo <hr> ; echo 客户端ip $_SERVER[ REMOTE_ADDR ]; echo <br> ; echo 客户端笑饥ip getenv( REMOTE_ADDR ); echo "<br>"; echo 服务器主机ip gethostbyname(" qq "); ?>

lishixin/Article/program/PHP/201311/20917

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

//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获取IP地址的三个函数区别

以下资料供参考:

1、REMOTE_ADDR 浏览当前页面的用户计算机的ip地址

2、HTTP_X_FORWARDED_FOR 浏览当前页面的用户计算机的网关

3.HTTP_CLIENT_IP 客户端的ip

在PHP 中使用 REMOTE_ADDR 来取得客户端的 IP 地址,但如果客户端是使用代理服务器访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。

要想透过代理服务器取得客户端的真实 IP 地址,就要使用 HTTP_X_FORWARDED_FOR 来读取。

不过要注意的事,并不是每个代理服务器都能用 HTTP_X_FORWARDED_FOR 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。

还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么HTTP_X_FORWARDED_FOR 取到的值将是空的。

热点内容
python发帖 发布:2025-03-13 15:08:51 浏览:81
cmcc路由器手机如何改密码 发布:2025-03-13 14:58:01 浏览:419
linuxpostfix 发布:2025-03-13 14:58:00 浏览:697
苹果手机的wifi密码怎么看 发布:2025-03-13 14:30:52 浏览:50
php直播开发教程 发布:2025-03-13 14:29:20 浏览:911
如何防止女朋友要手机密码 发布:2025-03-13 14:28:46 浏览:891
关系数据库的概念 发布:2025-03-13 14:20:12 浏览:461
linuxrpm卸载 发布:2025-03-13 14:17:45 浏览:652
android在线支付 发布:2025-03-13 13:50:21 浏览:792
瑞影无损图片压缩大师 发布:2025-03-13 13:27:33 浏览:452