首页 > 解决方案 > Php $_SERVER['REMOTE_ADDR'] 每次都给出不同的 ip

问题描述

我正在使用 Php superglobal$_SERVER['REMOTE_ADDR']来获取客户端 ip 。但它总是给我不同的 ip 地址,而且提供的 ip$_SERVER['REMOTE_ADDR']也不正确我在本地机器上的 ip 以 192.168 开头。...等等,但它给了我像 165.123 这样的 ip。...当我用不同的浏览器打开页面时,它会产生不同的结果。

标签: phpip

解决方案


本地机器上的 IP 是路由器分配的私有 IP。远程服务器获取路由器 WAN 接口的公共 IP。如果 IP 发生变化,您的 ISP 必须在每次连接时动态分配您的 IP。

另一种可能性是您的 ISP 通过代理服务器中继您的网络流量。然后$_SERVER['REMOTE_ADDR']是代理的IP。如果 IP 每次都更改,则它们有多个负载平衡的代理。


推荐阅读