连接到服务器时,如何知道客户端使用的Internet协议(IP)版本? [英] How to know which version of the Internet Protocol (IP) a client is using when connecting to my server?

查看:156
本文介绍了连接到服务器时,如何知道客户端使用的Internet协议(IP)版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过php检查是否有人通过IPv4或IPv6连接到我的网站.

I want to check via php if someone connects to my site via IPv4 or IPv6.

可以在$_SERVER["REMOTE_ADDR"] 中找到客户端地址,但是如何检查它是IPv4还是IPv6?

The client address can be found in $_SERVER["REMOTE_ADDR"] but how to check if it's IPv4 or 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

For more, check PHP function filter_vars and list of filters for validation.

这篇关于连接到服务器时,如何知道客户端使用的Internet协议(IP)版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆