通过代理获得准确的IP

时间:2014-01-27 07:22:21

标签: php ip

目前我们的域名将指向某些代理IP(由于保护服务),并且所有流量都将通过代理IP并且仅将有效流量路由回我们的服务器。

这是我的问题,我有一个应用程序来捕获访问者的IP并在他们登录到我们的成员站点后保存到数据库,我有以下功能来获取IP并且它被保存为test.php用于测试目的:< / p>

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';

return $ipaddress; 
}

echo get_client_ip();

但是,如果我直接访问https://domain.com/test.php,则IP不是预期的(它与我在whatismyip.com中检查的完全不同)。我一直联系我们的服务提供商,他们告诉我们必须访问像https://x.x.x.x/~sitename/test.php这样的网址(其中x.x.x.x是我们的VPS服务器IP)来捕获准确的访问者IP,是的!它在我尝试使用URL时有效,但回到编码中的技术问题,如何集成 https://x.x.x.x/~sitename/test.php在此函数中告诉代码从提供的URL获取IP?

请帮忙!!

0 个答案:

没有答案