在运行VPN的情况下使用PHP获取IP地址

时间:2010-09-21 19:47:05

标签: php ip-address vpn

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

无论如何,如果我正在运行VPN,使用php获取我的原始地址ip? 如果我也使用代理,有没有办法使用PHP获取PROXY IP地址?

由于

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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上会得到什么。我知道匿名代理不会填充这些变量。