如何通过PHP获取用户访问的真实IP地址?
- 内容介绍
- 文章标签
- 相关推荐
本文共计140个文字,预计阅读时间需要1分钟。
如果用户使用了代理服务器,实际IP地址可能不在HTTP_CLIENT_IP头中,而需要通过HTTP_X_FORWARDED_FOR头来解析。以下是一个PHP函数示例:
phpfunction GetIP() { // 获取IP if (!empty($_SERVER[HTTP_X_FORWARDED_FOR])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip;}
如果用户使用了代理服务器,真实ip就不在HTTP_CLIENT_IP头中,而需要通过http头HTTP_X_FORWARDED_FOR来解析了。
如下php函数:
<? function GetIP() { //获取IP if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; else if ($_SERVER["HTTP_CLIENT_IP"]) $ip = $_SERVER["HTTP_CLIENT_IP"]; else if ($_SERVER["REMOTE_ADDR"]) $ip = $_SERVER["REMOTE_ADDR"]; else if (getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "Unknown"; return $ip; } ?>
本文共计140个文字,预计阅读时间需要1分钟。
如果用户使用了代理服务器,实际IP地址可能不在HTTP_CLIENT_IP头中,而需要通过HTTP_X_FORWARDED_FOR头来解析。以下是一个PHP函数示例:
phpfunction GetIP() { // 获取IP if (!empty($_SERVER[HTTP_X_FORWARDED_FOR])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip;}
如果用户使用了代理服务器,真实ip就不在HTTP_CLIENT_IP头中,而需要通过http头HTTP_X_FORWARDED_FOR来解析了。
如下php函数:
<? function GetIP() { //获取IP if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; else if ($_SERVER["HTTP_CLIENT_IP"]) $ip = $_SERVER["HTTP_CLIENT_IP"]; else if ($_SERVER["REMOTE_ADDR"]) $ip = $_SERVER["REMOTE_ADDR"]; else if (getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "Unknown"; return $ip; } ?>

