一些搜索引擎蜘蛛的IP通常是一個大的IP段,所以我們在判斷某個IP地址是否為搜索引擎的蜘蛛時,通常就會判斷IP地址是否在某個IP段內,而在php中,這種判斷IP是否屬于某個IP段的方法,就顯得非常的簡單,下面飛鳥慕魚博客就來和大家分享一下。

IP段的范圍解析

頭條的蜘蛛IP段:110.249.202.0/24

此段IP表示一共有254個IP地址,范圍如下:

110.249.202.1  到  110.249.202.254

php 判斷IP地址是否在指定的IP段內的方法

php代碼:

<?php
//起始ip
//飛鳥慕魚博客 feiniaomy.com
$ip_start = get_iplong('110.249.202.1'); 
//最后的IP
$ip_end = get_iplong('110.249.202.254');
//判斷的ip
$ip = get_iplong('110.249.202.103');
//開始判斷
if($ip >= $ip_start && $ip <= $ip_end){
    echo 'IP在此范圍內';
}else{
    echo 'IP不在此范圍';
}
//轉換IP地址
function get_iplong($ip){
    return bindec(decbin(ip2long($ip)));
}
?>

輸出結果:

IP在此范圍內

代碼解釋:

国产视频appip2long():將IPv4地址轉換成整型

国产视频appdecbin():函數把十進制轉換為二進制

bindec():函數把二進制轉換為十進制。