我正在使用的网络服务器正在使用静态私有 IP 地址,它在防火墙中配置,其中配置了虚拟公共 IP 地址。
如果我通过静态 IP 地址浏览我的网络服务器,我可以成功获取客户端的 IP 地址。
但是,如果我将使用我在防火墙中配置的虚拟 IP 地址浏览我的网络服务器,那么我获得的客户端 IP 地址就是防火墙本身的 IP 地址。
如果客户端将使用 Web 服务器的虚拟 IP 进行浏览,是否可以获得客户端的真实 IP 地址?
我正在使用的网络服务器正在使用静态私有 IP 地址,它在防火墙中配置,其中配置了虚拟公共 IP 地址。
如果我通过静态 IP 地址浏览我的网络服务器,我可以成功获取客户端的 IP 地址。
但是,如果我将使用我在防火墙中配置的虚拟 IP 地址浏览我的网络服务器,那么我获得的客户端 IP 地址就是防火墙本身的 IP 地址。
如果客户端将使用 Web 服务器的虚拟 IP 进行浏览,是否可以获得客户端的真实 IP 地址?
考虑一下,如果我愿意,我可以让我的浏览器不向您发送我的 ip 或虚假 ip,所以不要相信它,永远不要。顺便说一句,当我需要它时,我会使用它
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$user_ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$user_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$user_ip = $_SERVER['REMOTE_ADDR'];
}