1. php校驗ipv4掩碼是否合法,在網上搜了下,排名最高的如下,
<?phpfunction 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的縮寫...