使用 CloudFlare 访问真实访问者 IP 地址
Web 应用程序通常依赖 $_SERVER['REMOTE_ADDR'] 来跟踪和记录 IP 地址访问其网站的用户数。然而,当使用CloudFlare进行缓存和保护时,收到的IP地址属于CloudFlare,而不是实际的访问者。这对 PHP 中准确的 IP 地址跟踪提出了挑战。
CloudFlare 的特殊变量
为了解决此问题,CloudFlare 提供了额外的服务器变量,可用于检索真实访客IP地址。这些变量包括:
更正 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中文网其他相关文章!