在 PHP 中可通过 $_SERVER
全局变量获取客户端IP,常用的有以下两个变量:
$_SERVER['REMOTE_ADDR']
:浏览当前页面的用户的 IP 地址$_SERVER['HTTP_X_FORWARDED_FOR']
:如果用户使用了代理服务器,则获取用户的真实 IP 地址可使用此变量。
以下是获取客户端真实IP的示例代码:
function get_real_ip() {
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
return $ip;
}
$real_ip = get_real_ip();
echo $real_ip;
该函数会检测三个可能存储客户端 IP 地址的变量,按先后顺序将变量的值替换为客户端的真实 IP 地址,最终返回这个 IP 地址。