一些搜索引擎蜘蛛的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在此范围内

代码解释:

ip2long():将IPv4地址转换成整型

decbin():函数把十进制转换为二进制

bindec():函数把二进制转换为十进制。