使用CloudFlare时如何访问真实访客IP地址?

Mary-Kate Olsen
发布: 2024-10-25 02:38:02
原创
984 人浏览过

How to Access Real Visitor IP Addresses When Using CloudFlare?

使用 CloudFlare 访问真实访问者 IP 地址

Web 应用程序通常依赖 $_SERVER['REMOTE_ADDR'] 来跟踪和记录 IP 地址访问其网站的用户数。然而,当使用CloudFlare进行缓存和保护时,收到的IP地址属于CloudFlare,而不是实际的访问者。这对 PHP 中准确的 IP 地址跟踪提出了挑战。

CloudFlare 的特殊变量

为了解决此问题,CloudFlare 提供了额外的服务器变量,可用于检索真实访客IP地址。这些变量包括:

  • $_SERVER["HTTP_CF_CONNECTING_IP"]:包含实际访问者的 IP 地址。
  • $_SERVER["HTTP_CF_IPCOUNTRY"]:提供访问者所在的国家/地区。
  • $_SERVER["HTTP_CF_RAY"]:请求的唯一标识符。
  • $_SERVER["HTTP_CF_VISITOR"]:指示请求是通过 HTTP 还是 HTTPS 发出。

更正 IP 地址

要在使用 CloudFlare 时检索实际访问者 IP 地址,您可以使用以下代码:

<code class="php">if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}</code>
登录后复制

这将分配将真实访客 IP 地址添加到 $_SERVER['REMOTE_ADDR'] 变量中,以便您准确跟踪和记录它。

安全注意事项

需要注意的是,任何人直接访问您的服务器 IP 可以操纵这些标头值。为了确保有效性,请考虑在依赖 $_SERVER['REMOTE_ADDR'] 之前验证它是否对应于合法的 CloudFlare IP 地址。

以上是使用CloudFlare时如何访问真实访客IP地址?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!