Php Ger用户通过cloudflare和azure获得IPv4地址

Php Ger用户通过cloudflare和azure获得IPv4地址,php,azure,cloudflare,Php,Azure,Cloudflare,我已经通过azure创建了一个web应用程序,它完全依赖于用户的位置来为他们提供正确的数据e.t.c。这是一个推荐本地地点的应用程序 我使用azure、cloudflare和codeigniter作为框架 我真的很紧张,因为当我在家的时候,我得到了正确的位置,但当我第二次在我的网站上其他任何地方,它从来没有得到准确的信息 检查标头$_SERVER['HTTP_CF_CONNECTING_IP']时;我似乎得到了一个ipv6地址,当我转到ipdata.co时,他们的站点加载了我的ipv4地址,这提

我已经通过azure创建了一个web应用程序,它完全依赖于用户的位置来为他们提供正确的数据e.t.c。这是一个推荐本地地点的应用程序

我使用azure、cloudflare和codeigniter作为框架

我真的很紧张,因为当我在家的时候,我得到了正确的位置,但当我第二次在我的网站上其他任何地方,它从来没有得到准确的信息

检查标头$_SERVER['HTTP_CF_CONNECTING_IP']时;我似乎得到了一个ipv6地址,当我转到ipdata.co时,他们的站点加载了我的ipv4地址,这提供了准确的信息。但是当我从$服务器输入地址时,['HTTP\u CF\u CONNECTING\u IP'];它给我city
null
和其他所有选项作为
null

有人对如何通过cloudflare和azure获取用户IPV4地址有什么建议吗

或者对其他方法有什么建议?这延长了我网站的发布时间

我对地理位置和ip地址以及所有这些都不太了解,所以请记住这一点

感谢您从家中获取IPV4地址,并从其他地方获取IPv6。默认情况下,Cloudflare为所有域提供免费的IPv6支持,无需额外配置或硬件。如果您的源web服务器与IPv6不兼容,Cloudflare允许将IPv6兼容性切换为关闭。您可以从cloudflare禁用IPV6兼容性以关闭

参考:

Cloudflare将连接的客户端IP放入此标头中,因此它们实际上无法控制用户代理决定执行的操作

还要检查您的网络是否具有“良好”的IPv6连接,或者与IPv4相比,您是否获得了次优路由

检查链接以获取更多参考


禁用对网站的ipv6支持确实是一个棘手的解决办法,因为只支持ipv6的网络越来越普遍(它们可以为每个用户添加ipv4代理,但这涉及一个很大的领域)。是的,我同意。另外,我们可以使用不同的服务器变量来获取用户国家。它在Cloudflare中提供。