如何在 PHP Web 服务中获取客户端的 IP 地址?

2022-08-30 14:26:16

我开发了一个PHP网络服务。我想记录正在使用此 Web 服务的 WS 客户端的所有传入连接。如何获取客户端的 IP 地址?的价值

$_SERVER['HTTP_CLIENT_IP']
似乎总是空的。

答案 1

这应该是你想要的:

$_SERVER['REMOTE_ADDR']

用户从中查看当前页面的 IP 地址。

http://php.net/manual/en/reserved.variables.server.php


答案 2

实际上,我建议使用此功能来覆盖所有基础,例如使用代理,共享网络等的人:

function getUserIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared
    {
        return $_SERVER['HTTP_CLIENT_IP'];
    }
    else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //if from a proxy
    {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
        return $_SERVER['REMOTE_ADDR'];
    }
}

推荐