我正在使用 VPN,因此如果我检查http://whatismyip.com,它会给我与$_SERVER['REMOTE_ADDR']
or不同的 ip getenv('REMOTE_ADDR')
。whatismyip 给出了我的原始 IP 地址,$_SERVER
或者getenv
给出了我的 VPN IP 地址!
无论如何,如果我正在运行 VPN,是否可以使用 php 获取我的原始地址 ip?如果我也使用代理,有什么方法可以使用 PHP 获取代理 IP 地址?
谢谢
我正在使用 VPN,因此如果我检查http://whatismyip.com,它会给我与$_SERVER['REMOTE_ADDR']
or不同的 ip getenv('REMOTE_ADDR')
。whatismyip 给出了我的原始 IP 地址,$_SERVER
或者getenv
给出了我的 VPN IP 地址!
无论如何,如果我正在运行 VPN,是否可以使用 php 获取我的原始地址 ip?如果我也使用代理,有什么方法可以使用 PHP 获取代理 IP 地址?
谢谢
不。无论 PHP(而不是 Web 服务器)返回的都是发出请求的地址。脚本无法知道您是否在 VPN 或代理后面。
请尝试以下操作 - 我不在代理或 VPN 后面,所以现在无法检查:
$_SERVER['HTTP_X_FORWARDED_FOR']; // in place of REMOTE_ADDR
您还可以尝试使用以下方法引用 SERVER_NAME:
$_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['HTTP_X_FORWARDED_SERVER'];
不确定你会在 VPN 上得到什么。我知道匿名代理不会填充这些变量。