gpt4 book ai didi

php - 如何获取客户端的本地IP地址和代理服务器

转载 作者:行者123 更新时间:2023-11-29 22:12:04 26 4
gpt4 key购买 nike

我读了很多文章建议使用 http_x_forwarded_for 来获取代理服务器和客户端的真实 ip 地址,但它们似乎都不起作用。

我分配了一个本地 IP 地址,我使用代理服务器连接到互联网。但是当我显示整个 $_SERVER 变量时,没有任何关于我使用的真实机器 IP 和代理服务器的痕迹。

LINK显示整个 $_SERVER 变量。

我想这在 PHP 中是不可能的。我如何做到这一点?我知道这是可能的,因为有一次我看到一些网页显示我在 Mozilla 中使用的真实 IP 地址和代理服务器。但不确定它使用的是哪种语言。

我如何完成?我已准备好使用 CGI 或 JavaScript。我在互联网上找不到任何有效的例子。帮忙?

最佳答案

是否发送 http_x_forwarded_for header 完全取决于代理。有些会有些不会。无论您在打印 $_SERVER 变量时使用的是哪个代理,都没有发送 header 。

即使所有代理都发送了 header ,您仍然会遇到问题,因为任何人都可以欺骗 http_x_forwarded_for header ,因此如果您的脚本将其视为真实 IP,那么有人可以将其欺骗到绕过您的 IP 检查。

最好的办法是使用 $_SERVER['REMOTE_ADDR'] 而忘记依赖 http_x_forwarded_for。是的,代理用户将能够在新 IP 下访问您的站点,但这比所有用户在 http_x_forwarded_for 中欺骗 IP 的能力要好。

作为帮助,您可以维护一个已知代理列表,但这同样不会最终为您提供真实的客户端 IP,它只能告诉您该 IP 是否在您的代理列表中。

关于php - 如何获取客户端的本地IP地址和代理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17609608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com