我想通过 php 检查是否有人通过 IPv4 或 IPv6 连接到我的网站。
客户端地址可以在$_SERVER["REMOTE_ADDR"]
中找到但是如何判断是IPv4还是IPv6?
最佳答案
检查 IPv4
$ip = "255.255.255.255";
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
echo "Valid IPv4";
}
else {
echo "Invalid IPv4";
}
检查 IPv6
$ip = "FE80:0000:0000:0000:0202:B3FF:FE1E:8329";
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
echo "Valid IPv6";
}
else {
echo "Invalid IPv6";
}
有关更多信息,请查看 PHP 函数 filter_vars
和 list of filters for validation
.
关于php - 如何知道客户端在连接到我的服务器时使用的 Internet 协议(protocol) (IP) 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448871/