gpt4 book ai didi

显示ipv4和ipv6的PHP函数

转载 作者:行者123 更新时间:2023-12-04 17:56:51 25 4
gpt4 key购买 nike

我正在将服务器配置为双栈,同时允许 ipv4 和 ipv6。然后,我想创建一个 php 页面来显示客户端机器是否通过 ipv4、ipv6 或两者连接。

我也试过 $_SERVER['REMOTE_ADDR'] 和 getenvbyhost("REMOTE_ADDR") ,但它只返回一个或另一个,不会同时返回。

我也试过下面的代码

 function isIPv6($ip) {

if(filter_var($ip, FILTER_VALIDATE_IP)) {

if(filter_var($ip, FILTER_FLAG_IPV6)) {
//It is IPv6 indeed.
} else {
//It is IPv4
}

} else {
// Not a valid IP
}
}

是否可以从服务器获取两个ips?

最佳答案

每个传入请求使用 IPv4 或 IPv6,但不能同时使用两者。如果您想了解两者,则需要使用不同的协议(protocol)触发与服务器的多个连接。

最常见的方法是创建两个额外的主机名:一个只有您服务器的 IPv4 地址,一个只有您服务器的 IPv6 地址。然后,对于您的回复(假设是 HTML),您生成一个唯一代码并在页面中包含两个隐藏图像。一种使用仅 IPv4 主机名,另一种使用仅 IPv6 主机名。两者都包含您在 URL 中生成的唯一代码,因此客户端不会缓存图像,您可以看到哪些图像请求属于一起。

这很麻烦,而且对于大多数目的来说不值得付出努力。

关于显示ipv4和ipv6的PHP函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214331/

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