<?php
// 获取访问者IP地址
function getClientIp() {
// 检查是否使用代理
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
// 检查代理转发的IP
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// HTTP_X_FORWARDED_FOR可能包含多个IP,取第一个
$ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
}
// 直接获取REMOTE_ADDR
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
// 验证IP格式
if (filter_var($ip, FILTER_VALIDATE_IP)) {
return $ip;
} else {
return '无法获取有效的IP地址';
}
}
// 获取IP
$clientIp = getClientIp();
?>
<?php echo $clientIp; ?>