Php 共享主机-捕获用户ip

Php 共享主机-捕获用户ip,php,shared-hosting,Php,Shared Hosting,我在ccihosting.com上托管了一个站点,我试图用 $_SERVER['REMOTE_ADDR'] 我得到了他们位于巴拿马的服务器的IP,但不是我的IP。他们告诉我这是因为共享主机。但是所有的网络主机都有共享服务器,不是吗?而且我捕获IP地址没有问题。我想知道这是因为共享主机还是没有 谢谢您网站的IP地址在共享主机上不同。共享主机上的许多网站可能有不同的DNS名称,但IP地址相同 只有当您在专用主机服务器上时,才能获得相同的IP地址 编辑:尝试此替代代码 <?php functi

我在ccihosting.com上托管了一个站点,我试图用

$_SERVER['REMOTE_ADDR']
我得到了他们位于巴拿马的服务器的IP,但不是我的IP。他们告诉我这是因为共享主机。但是所有的网络主机都有共享服务器,不是吗?而且我捕获IP地址没有问题。我想知道这是因为共享主机还是没有


谢谢

您网站的IP地址在共享主机上不同。共享主机上的许多网站可能有不同的DNS名称,但IP地址相同

只有当您在专用主机服务器上时,才能获得相同的IP地址

编辑:尝试此替代代码

<?php
function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
        $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';

    echo $ipaddress;
}

get_client_ip();
?>


共享主机对多个域使用相同的公共IP。每次你获得巴拿马IP,或者只是偶尔?每次巴拿马IP,你服务器的IP地址与
远程地址有什么关系?@Stijn,我也很困惑。OP想要客户端的IP地址。但是它会如何影响用户的IP?他说的不是错误的服务器IP-他说的是错误的客户端IP。只有当他们将每个请求代理到他们的内部网络时才会发生这种情况(也许这是糟糕的软件负载平衡?@H2Ooooo,是的。蹩脚的。在这里找到了关于他们的链接。我会试试并通知你的