【发布时间】:2011-10-06 18:30:30
【问题描述】:
可能重复:
What is the most accurate way to retrieve a user's correct IP address in PHP?
php中是否有更好的函数来获取用户IP地址? 这是我目前使用的
function GetIP()
{
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 = "unknown";
return($ip);
}
【问题讨论】:
-
“更好”在什么意义上?您的代码在哪些方面需要改进?
-
你从哪里得到这个函数的?你为什么用它?它应该有什么坏处?你遇到什么问题了吗?
-
@Jon - 首先是缩进。 ;-)
标签: php