我在ccihosting.com上托管一个网站,我试图用捕获用户IP
$_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();
?>