php获得客户端ip地址范例

林继 PHP 技术 8,070 共写了125个字 (2005-12-03 11:40:44) 没有评论 打印 扫描二维码 百度未收录

在网上找的,测试过没有问题,但不知道那个参数更准确些;

在https下面和http获取的地址会不一样,在https下面,显示的ip地址是127.0.0.1
好像内网用户显示的都一个ip地址,没有研究过https是怎么工作的,不知道为什么会这样;

{
$onlineip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif ($_SERVER['HTTP_X_FORWARDED_FOR'])
{
$onlineip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$onlineip = $_SERVER['REMOTE_ADDR'];
}

echo $onlineip;

?>

或者这个:

//Get the real client IP

$ip = GetIP(“HTTP_CLIENT_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);
}

echo $ip;
?>

历史上的今天

12月
3

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >