首頁 >後端開發 >php教程 >iphone4s來電顯示歸屬地軟體 PHP 中檢查或過濾IP位址的實作程式碼

iphone4s來電顯示歸屬地軟體 PHP 中檢查或過濾IP位址的實作程式碼

WBOY
WBOY原創
2016-07-29 08:47:231775瀏覽

你可以透過增加一個設定文件,然後將需要禁止的一些IP 位址透過一定規則加入設定檔中,在程式初始化的時候,讀取設定檔中的每個規則,然後透過本文提供的方法去檢查目前存取的客戶端IP 位址是否存在於這些規則中,如果存在,則拒絕提供服務。

複製程式碼 程式碼如下:


/**
* PHP 中檢查或過濾IP 位址
*
* 支援IP 區間、CIDR(Classless Inter-Domain Routing)及單一IP 格式
* 整理:http://www.CodeBit.cn
* 參考:
* 整理:http://www.CodeBit.cn
* 參考:
* - { @link http://us2.php.net/manual/zh/function.ip2long.php#70055}
* - {@link http://us2.php.net/manual/zh/function.ip2long.php# 82397}
*
* @param string $network 網段,支援IP 區間、CIDR及單一IP 格式
* @param string $ip 要檢查的IP 位址
* @return boolean
*/
function netMatch($network, $ip) {
= trim($ip);
$result = false;
// IP range : 174.129.0.0 - 174.129.255.255
if (false !== ($pos = strpos($network, "-"if (false !== ($pos = strpos($network, "-"if ( )) $from = ip2long(trim(substr($network, 0, $pos)));
$to = ip2long(trim(substr($network, $pos+1)));
$ip = ip2long($ip) ;
$result = ($ip >= $from and $ip // CIDR : 174.129.0.0/16
} else if (false !== strpos($network,"/")) {
list ($net, $mask) = explode ('/', $network);
$result = (ip2long($ip) & ~((1 // single IP
} else {
$result = $network === $ip;
}
return $result;
}
// 174.129.0.0 -
. netMatch(' 174.129.0.0 - 174.129.255.255 ', '174.129.1.31')); // True
var_dump(netMatch(' 174.129.0.0/16 ', '174. netMatch(' 174.129.1.32 ', '174.129.1.31')); // False
?>

由於中國使用的大多數都是動態IP 位址,所以透過IP 位址限制存取具有一定的限制,使用的時候需要謹慎,但是對於應急限制存取來說,還是非常有用的。
以上就介紹了iphone4s來電顯示歸屬地軟體 PHP 中檢查或過濾IP位址的實作程式碼,包括了iphone4s來電顯示歸屬地軟體方面的內容,希望對PHP教學有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn