code: private function IPv4Match($address, $subnetAddress, $subnetMask)
      {
          if (!filter_var($subnetAddress, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) || $subnetMask === NULL || $subnetMask === "" || $subnetMask < 0 || $subnetMask > 32) {
              return false;
          }
  
          $address = ip2long($address);
          $subnetAddress = ip2long($subnetAddress);
          $mask = -1 << (32 - $subnetMask);
          $subnetAddress &= $mask; # nb: in case the supplied subnet wasn't correctly aligned
          return ($address & $mask) == $subnetAddress;
      }
docs: inspired by: http://stackoverflow.com/questions/594112/matching-an-ip-to-a-cidr-mask-in-php5