0

我正在使用 VPN,因此如果我检查http://whatismyip.com,它会给我与$_SERVER['REMOTE_ADDR']or不同的 ip getenv('REMOTE_ADDR')。whatismyip 给出了我的原始 IP 地址,$_SERVER或者getenv给出了我的 VPN IP 地址!

无论如何,如果我正在运行 VPN,是否可以使用 php 获取我的原始地址 ip?如果我也使用代理,有什么方法可以使用 PHP 获取代理 IP 地址?

谢谢

4

2 回答 2

3

不。无论 PHP(而不是 Web 服务器)返回的都是发出请求的地址。脚本无法知道您是否在 VPN 或代理后面。

于 2010-09-21T19:49:51.357 回答
2

请尝试以下操作 - 我不在代理或 VPN 后面,所以现在无法检查:

$_SERVER['HTTP_X_FORWARDED_FOR']; // in place of REMOTE_ADDR

您还可以尝试使用以下方法引用 SERVER_NAME:

$_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['HTTP_X_FORWARDED_SERVER'];

不确定你会在 VPN 上得到什么。我知道匿名代理不会填充这些变量。

于 2010-09-21T19:54:49.577 回答