function get_client_ip(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = '0.0.0.0';
return preg_match('/^((25[0-5]|2[0-4]\d|(1\d|[1-9])?\d)\.){3}(25[0-5]|2[0-4]\d|(1\d|[1-9])?\d)$/', $ip) ? $ip : '0.0.0.0';
}PHP获取客户端IP地址
最新推荐文章于 2021-03-13 07:22:31 发布
本文介绍了一种在PHP中获取客户端真实IP地址的有效方法。通过检查多种环境变量,如HTTP_CLIENT_IP、HTTP_X_FORWARDED_FOR及REMOTE_ADDR等,确保即使在使用代理服务器的情况下也能准确获取到客户端的真实IP。此外,该方法还对获取到的IP地址进行了基本的格式验证。
271

被折叠的 条评论
为什么被折叠?



