即时通讯使用以下代码来获取客户端IP当我尝试通过它获取我的IP它说103.245.196.41但我的实际IP是10.100.210.5.我的代码:
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (!empty($_SERVER['REMOTE_ADDR'])) {
$ip=$_SERVER['REMOTE_ADDR'];
}
Run Code Online (Sandbox Code Playgroud)
您可能正在进行地址转换(NAT)的路由器.10.100.210.5是一个保留的内部IP,不能在互联网上使用.103.245.196.41是您的ISP(Internet服务提供商)分配给您的路由器的外部IP.
因此,您的计算机(10.100.210.5)通过路由器访问您的脚本,该路由器屏蔽您的内部IP并显示外部(103.245.196.41)IP.
当数据从互联网返回给您时,NAT路由器知道将其发送回本地网络上的计算机.
这是一件好事,允许您拥有一个无人可以从外部访问的专用网络.
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |