我正在使用VPN,因此,如果我检查http://whatismyip.com,它会给我与$_SERVER['REMOTE_ADDR']
或getenv('REMOTE_ADDR')
不同的IP。
whatismyip给出了我的原始IP地址,而$_SERVER
或getenv
给出了我的VPN IP地址!!
无论如何,如果我正在运行VPN,使用php获取我的原始地址ip? 如果我也使用代理,有没有办法使用PHP获取PROXY IP地址?
由于
答案 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上会得到什么。我知道匿名代理不会填充这些变量。