2013-08-28 41 views
1

我在ccihosting.com托管一个网站,我试图抓住用户的IP与共享主机 - 捕捉用户的IP

$_SERVER['REMOTE_ADDR'] 

和我的IP位于巴拿马城他们的服务器,但不是我的IP。他们告诉我这是因为共享主机。但是所有虚拟主机都有共享服务器吗?我没有遇到捕获IP地址的问题。我想知道是因为共享主机还是没有。

感谢

+0

共享主机使用相同的公网IP的多个域。 – Raptor

+0

每次你拿到巴拿马的知识产权或有时候? –

+0

每次巴拿马ip – DeiForm

回答

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(); 
?> 
+0

但它如何影响用户的IP? – DeiForm

+1

他不是在谈论一个不正确的*服务器IP * - 他正在谈论一个不正确的**客户端IP **。有些东西通常会发生,如果他们通过内部网络代理每个请求(也许它是蹩脚的软件负载平衡?) – h2ooooooo

+0

@ h2ooooooo,是的。蹩脚。在这里找到一个关于它们的链接.http://www.webhostingtalk.com/showthread.php?t = 933040 –