如果您正在运行 VPN,则使用 PHP 获取 IP 地址

发布于 2024-09-24 12:43:28 字数 376 浏览 5 评论 0原文

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

如果我运行 VPN,有没有办法使用 php 获取我的原始地址 ip? 如果我也使用代理,有什么方法可以使用 PHP 获取代理 IP 地址吗?

谢谢

I am using VPN, and thus if i check http://whatismyip.com it will give me different ip than $_SERVER['REMOTE_ADDR'] or getenv('REMOTE_ADDR').
whatismyip gives my original ip address while $_SERVER or getenv gives my VPN ip address !!

is there anyway to get my original address ip using php in case that i am running VPN?
and is there any way to get the PROXY IP address using PHP if i am using proxy also?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

囍孤女 2024-10-01 12:43:28

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

No. Whatever PHP (rather the web server) returns is the address that the request was made from. There's no way for the script to know if you're behind a VPN or proxy.

水溶 2024-10-01 12:43:28

请尝试以下操作 - 我没有使用代理或 VPN,因此现在无法检查:

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

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

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

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

Try the following - I'm not behind a proxy or VPN, so can't check right now:

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

You can also try referencing SERVER_NAME using:

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

Not sure what you'll get on a VPN. I know that anonymous proxies won't populate these variables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文