1

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

$_SERVER['REMOTE_ADDR']

我得到了他们位于巴拿马的服务器的 IP,但没有我的 IP。他们告诉我这是因为共享主机。但是所有虚拟主机都有共享服务器,不是吗?而且我在捕获 IP 地址方面没有任何问题。我想知道是不是因为共享主机。

谢谢

4

1 回答 1

2

您网站的 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();
?>
于 2013-08-28T09:02:28.743 回答