gpt4 book ai didi

apache - 将 CloudFlare 和 MaxMind 的 GeoIP 与 mod_geoip 一起使用时,如何获取用户的 IP?

转载 作者:行者123 更新时间:2023-12-03 15:11:38 25 4
gpt4 key购买 nike

CloudFlare 从原始 IP 提供用户的国家/地区,但我需要城市级别的位置,因此我使用 mod_geoip Apache 脚本添加了 MaxMind 的 GeoCityLite。

现在的问题是在 php 变量中获取 IP,我正在使用类似的东西

$country = apache_note("GEOIP_COUNTRY_CODE");

这很好,但 mod_geoip 使用的 IP 是 CloudFlare DNS,而不是最终用户。 CloudFlare 提供服务器变量 HTTP_CF_CONNECTING_IP 以使用最终用户 IP,但如何在 mod_geoip 中使用该变量/IP?

这可以用 htaccess 中的几行来完成吗?

编辑:我有一个使用 php API for geoip 的解决方法,这很容易,但使用 php api 的 apache 查找的基准要好得多,所以我宁愿找到这个解决方案。

最佳答案

在调用 geoip 之前执行此操作:

$_SERVER['REMOTE_ADDR'] = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : $_SERVER['REMOTE_ADDR'];

关于apache - 将 CloudFlare 和 MaxMind 的 GeoIP 与 mod_geoip 一起使用时,如何获取用户的 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6470913/

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