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;

2 条评论

  1. 其实这个方法有问题,亲测, 如果你网站的域名挂CDN了,HTTP_X_FORWARDED_FOR 会获取到用户的伪造IP ,而REMOTE_ADDR 只会获取到CDN的IP,,,REMOTE_ADDR第二个IP才是用户的真正IP。。。 哎,为此我很烦恼啊。。。 就是用的dz2.5的获取IP测试的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

验证码已失效,请刷新验证码