关于“php判断ip地址类型”的问题,小编就整理了【4】个相关介绍“php判断ip地址类型”的解答:
ip地址的类型怎么判断?IP地址共分为A类IP地址、B类IP地址、C类IP地址、D类IP地址、E类IP地址共五类。通过IP地址在哪类IP地址的范围来确认它属于哪一类。
1、A类IP地址
一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。
A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。
A类IP地址的范围是:1.0.0.1到127.255.255.254。
2、一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。
B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址的范围是:128.0.0.1-191.255.255.254。
php判断ip地址是否正确的代码?想要正确的使用正则表达式来判断 IP 地址正确与否,重点就是如何使用正则表达式来表示 IP 中的 4 个数字,保证它们的取值范围在 0~255 之间。
如下所示:
([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5])
有了上面的正则表达式,定义好4组数正则表达式
((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))
至此正则表达式就是定义好了,将它放到代码中来验证一下,代码如下所示:
function validateip($ip){
$preg="/^((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))/";
preg_match($preg,$ip,$matches);
if(!empty($matches)) return 1;
编写一页面,显示访问者的IP地址,并判断:如果IP地址以192.167开头的,则显示欢迎信息;否则显示为非法用户,并?请问你是用什么程序来开发网站,
如果是PHP的话,在INDEX脚本里添加
一个判断,如果访问IP是192.167开头 则跳转到欢迎页面,如果不是则拒绝访问。
如何判断IP地址是A类B类还是C类?1.A类IP地址
一个A类IP地址由1字节(每个字节是8位)的网络地址和3个字节主机地址组成,网络地址的最高位必须是“0”,即第一段数字范围为1~126。每个A类地址可连接16387064台主机,Internet有126个A类地址。
2.B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,即第一段数字范围为128~191。每个B类地址可连接64516台主机,Internet有16256个B类地址。
3.C类IP地址
一个C类地址是由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是“ll0”,即第一段数字范围为192~223。每个C类地址可连接254台主机,Internet有2054512个C类地址。
4.D类地址用于多点播送。
第一个字节以“lll0”开始,第一个字节的数字范围为224~239,是多点播送地址,用于多目的地信息的传输,和作为备用。全零(“0.0.0.0”)地址对应于当前主机,全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。
5.E类地址
以“llll0”开始,即第一段数字范围为240~254。E类地址保留,仅作实验和开发用。
到此,以上就是小编对于“php判断ip地址类型”的问题就介绍到这了,希望介绍关于“php判断ip地址类型”的【4】点解答对大家有用。