前端 IPv4與IPv6的校驗函式

2022-01-13 12:41:50 字數 816 閱讀 2215

1. php校驗ipv4掩碼是否合法,在網上搜了下,排名最高的如下,

<?php  

function is_mask($mask)

//測試

echo is_mask("255.255.0.0");

echo is_mask("255.0.0.0");

echo is_mask("0.0.0.0");

echo is_mask("255.255.255.255");

echo is_mask("1.1.1.1");

//但是輸入ipv6的位址時候校驗也通過了,所以還是存在一些問題

echo is_mask("f256::25:21");

//做了部分正則校驗補充如下:

function is_mask($mask)(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/', $mask))

$bin_mask =(string)decbin(ip2long($mask));

$pos_0 = strpos($bin_mask,"0");

$pos_1 = strrpos($bin_mask,"1");

return ($pos_0==0||$pos_0==$pos_1+1);

}?>

2.對ipv6閘道器的常用校驗

//

這三種位址用來做ipv6的閘道器位址不合適,注意排除

if(ip_short=='::'||ip_short=='::0'||ip_short=='::1')

IPV4與IPV6的區別

在windows 7以上系統中,在設定本地ip位址的時候經常會看到同事含有ipv4協議項與ipv6協議項,並不同於以往windows xp系統中僅有tcp ip協議項,不少朋友都覺得比較奇怪,詢問編輯ipv4與ipv6的區別,下面編輯就為大家權威的介紹下ipv4與ipv6有什麼區別。目前的全球網際網...

IPv4與IPv6之間的區別

ipv4和ipv6是是目前使用的兩種internet協議版本,ipv4和ipv6協議之間存在各種差異,包括它們的功能,但關鍵的一點是它生成的位址 位址空間 的數量的區別。下面我們就來具體的給大家介紹ipv4和ipv6協議之間的區別。1 位址長度 ipv4協議具有32位 4位元組 位址長度 ipv6協...

IPV4和IPV6的區別

internet的主機都有乙個唯一的ip位址,ip位址用乙個32位二進位制的數表示乙個主機號碼,但32位位址資源有限,已經不能滿足使用者的需求了,因此internet研究組織發布新的主機標識方法,即ipv6。在rfc1884中 rfc是request for comments document的縮寫...