作者:深深i | 来源:互联网 | 2020-08-19 06:37
很多时候,我们需要做IP黑名单或者IP白名单,来对访客进行限制,很常见的一种就是对同一IP段内的所有IP进行允许或限制,那么就我们就需要知道访客IP是否属于该IP段范围内。本文仅记录一下方法。
$start_ip = "42.236.184.1";
$end_ip = "42.236.184.255";
$ip = "42.236.184.128";
check_ip($ip,$start_ip,$end_ip);
function check_ip($ip,$start_ip,$end_ip)
{
$ip = get_ip2long($ip);
$start_ip = get_ip2long($start_ip);
$end_ip = get_ip2long($end_ip);
if($ip >= $start_ip && $ip <= $end_ip)
{
return true;
}
return false;
}
// decbin() 十进制转二进制
// bindec() 二进制转十进制。函数将一个二进制数转换成 integer。可转换的最大的数为 31 位 1 或者说十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。
function get_ip2long($ip)
{
return bindec(decbin(ip2long($ip)));
//方法二:return sprintf(&#39;%u&#39;,ip2long($ip)); //%u:不包含正负号的十进制数
}
更多PHP相关知识,请访问PHP中文网!
以上就是PHP判断某个IP4是否属于某一个IP段的详细内容,更多请关注 第一PHP社区 其它相关文章!