我在ccihosting.com托管一个站点,我试图用
$_SERVER['REMOTE_ADDR']我得到了他们服务器的IP地址在巴拿马,而不是我的IP。他们告诉我这是因为共享主机。但是所有的网络主机都有共享的服务器,不是吗?而且我在获取IP地址方面没有任何问题。我只想知道这是什么原因,因为共享托管或不。
谢谢
发布于 2013-08-28 09:02:28
您网站的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();
?>https://stackoverflow.com/questions/18483505
复制相似问题