我在 ccihosting.com 托管一个站点,我试图用
$_SERVER['REMOTE_ADDR']
我得到了他们位于巴拿马的服务器的 IP,但没有我的 IP。他们告诉我这是因为共享主机。但是所有虚拟主机都有共享服务器,不是吗?而且我在捕获 IP 地址方面没有任何问题。我想知道是不是因为共享主机。
谢谢
我在 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();
?>