php - Php $_SERVER['REMOTE_ADDR'] 每次都给出不同的 ip
问题描述
我正在使用 Php superglobal$_SERVER['REMOTE_ADDR']
来获取客户端 ip 。但它总是给我不同的 ip 地址,而且提供的 ip$_SERVER['REMOTE_ADDR']
也不正确我在本地机器上的 ip 以 192.168 开头。...等等,但它给了我像 165.123 这样的 ip。...当我用不同的浏览器打开页面时,它会产生不同的结果。
解决方案
本地机器上的 IP 是路由器分配的私有 IP。远程服务器获取路由器 WAN 接口的公共 IP。如果 IP 发生变化,您的 ISP 必须在每次连接时动态分配您的 IP。
另一种可能性是您的 ISP 通过代理服务器中继您的网络流量。然后$_SERVER['REMOTE_ADDR']
是代理的IP。如果 IP 每次都更改,则它们有多个负载平衡的代理。
推荐阅读
- javascript - Bootstrap Datetimepicker 在第二次点击时消失
- docker - Kafka-Node 未检测到 kafka 代理
- debugging - 如何在 Erlang 中调试进程
- clang-tidy - clang-tidy:在 throw 之前由于缺少 free 而检测内存泄漏的检查是什么?
- rest - 使用不透明的访问令牌会使我的服务器有状态吗?
- c# - 在 ASP.NET MVC 中没有为此对象定义无参数构造函数
- python - 为什么它一直说“在处理上述异常期间,发生了另一个异常:”
- java - JDK 11.0.2 - 无法在 ECLIPSE 中派生模块描述符
- c - 尽管初始化变量,但它正在获取垃圾值
- android - 如何使用导航组件处理片段内的向上按钮