Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 访客的Ip地址_Php - Fatal编程技术网

Php 访客的Ip地址

Php 访客的Ip地址,php,Php,我有一个php脚本,我使用了几个星期,它允许我捕获访问我的网站的人的ip,但几天之后(我的印象是,自从我在hostserver OVH上激活了选项“CDN+HTTP/2”),我的脚本返回我的web主机OVH的多个公共ip地址之一 以下是脚本: function get_ip() { if (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR');

我有一个php脚本,我使用了几个星期,它允许我捕获访问我的网站的人的ip,但几天之后(我的印象是,自从我在hostserver OVH上激活了选项“CDN+HTTP/2”),我的脚本返回我的web主机OVH的多个公共ip地址之一

以下是脚本:

    function get_ip() {
        if (getenv('HTTP_X_FORWARDED_FOR')) {
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        }
        elseif (getenv('HTTP_CLIENT_IP')) {
            $ip = getenv('HTTP_CLIENT_IP');
        }
        elseif (getenv('HTTP_X_COMING_FROM')) {
            $ip = getenv('HTTP_X_COMING_FROM');
        }
        elseif (getenv('HTTP_VIA')) {
            $ip = getenv('HTTP_VIA');
        }
        elseif (getenv('HTTP_XROXY_CONNECTION')) {
            $ip = getenv('HTTP_XROXY_CONNECTION');
        }
        else {
            $ip = getenv('REMOTE_ADDR');
        }
        return $ip;
    }

    $ip = get_ip();
感谢您的帮助

好的,解决方案

function get_ip() {
    if (getenv('HTTP_CLIENT_IP')) {
        $ip = getenv('HTTP_CLIENT_IP');
    }
    elseif (getenv('HTTP_X_COMING_FROM')) {
        $ip = getenv('HTTP_X_COMING_FROM');
    }
    elseif (getenv('HTTP_VIA')) {
        $ip = getenv('HTTP_VIA');
    }
    elseif (getenv('HTTP_XROXY_CONNECTION')) {
        $ip = getenv('HTTP_XROXY_CONNECTION');
    }
    elseif (getenv('REMOTE_ADDR')) {
        $ip = getenv('REMOTE_ADDR');
    }
    else {
        $ip = getenv('HTTP_X_FORWARDED_FOR');
    }
    return $ip;
}

$ip = get_ip();

你可以把它全部转储,看看有什么不对。我把getenv('HTTP_X_FORWARDED_FOR')放在最后,它就可以工作了。。。谢谢;)