$ _SERVER [' REMOTE_ADDR']在两台服务器之间有所不同

时间:2013-04-03 07:44:05

标签: php

我有两台服务器从我的客户端$_SERVER['REMOTE_ADDR']

在服务器(A)上,我将来自$_SERVER['REMOTE_ADDR']的IP存储在数据库中,并执行header('Location: ...')到服务器(B)。 服务器(B),在屏幕上用$_SERVER['REMOTE_ADDR']打印/回显ip。

旁注:服务器(A)上的页面从iframe内部调用,服务器(B)的页面随后被加载到同一个iframe中。

然而,当我比较两个结果时,我可以看到Server(A)返回本地网络IP,Server(B)返回外部IP。这是什么原因?我希望两者都是本地/外部ip行为。

1 个答案:

答案 0 :(得分:1)

从php手册:

  

$ _ SERVER是一个包含标题,路径等信息的数组,   和脚本位置。此数组中的条目由Web创建   服务器。 无法保证每个网络服务器都能提供任何服务   这些;服务器可能会省略某些服务器,或提供此处未列出的其他服务器。   也就是说,大量的这些变量都在计算中   »CGI / 1.1规范,因此您应该能够期待这些。

出于安全原因,您的服务器A可能不允许获取远程IP地址。