Example #1
0
 function ipv4_in_range($ip, $range)
 {
     if (is_array($range)) {
         foreach ($range as $iprange) {
             if (ipv4_in_range($ip, $iprange)) {
                 return true;
             }
         }
         return false;
     }
     // Wildcarded range
     // 192.168.1.*
     if (!str_contains($range, '-') && str_contains($range, '*')) {
         $range = str_replace('*', '0', $range) . '-' . str_replace('*', '255', $range);
     }
     // Dashed range
     //   192.168.1.1-192.168.1.100
     //   0.0.0.0-255.255.255.255
     if (count($twoIps = explode('-', $range)) == 2) {
         $ip1 = ip2long($twoIps[0]);
         $ip2 = ip2long($twoIps[1]);
         return ip2long($ip) >= $ip1 && ip2long($ip) <= $ip2;
     }
     if (count($twoIps = explode('-', $range)) == 2) {
         $ip1 = ip2long($twoIps[0]);
         $ip2 = ip2long($twoIps[1]);
         return ip2long($ip) >= $ip1 && ip2long($ip) <= $ip2;
     }
     // Masked range or fixed IP
     //   192.168.17.1/16 or
     //   127.0.0.1/255.255.255.255 or
     //   10.0.0.1
     return ipv4_match_mask($ip, $range);
 }
Example #2
0
 public static function ipV4MatchMask($ip, $network)
 {
     return ipv4_match_mask($ip, $network);
 }