php 判断一个ip地址是否是内网ip的函数

发布时间:2020-02-23 00:36:00 浏览数:22
public function isInternalIp($ip){
    $ip = ip2long($ip);
    $net_a = ip2long('10.255.255.255') >> 24; //A类网预留ip的网络地址
    $net_b = ip2long('172.31.255.255') >> 20; //B类网预留ip的网络地址
    $net_c = ip2long('192.168.255.255') >> 16; //C类网预留ip的网络地址
    return $ip >> 24 === $net_a || $ip >> 20 === $net_b || $ip >> 16 === $net_c;
}

转自:https://segmentfault.com/q/1010000002489259 中vissong的回答