FOF30\Utils\Ip::checkIPv6CIDR PHP Méthode

checkIPv6CIDR() protected static méthode

Checks if an IPv6 address $ip is part of the IPv6 CIDR block $cidrnet
protected static checkIPv6CIDR ( string $ip, string $cidrnet ) : boolean
$ip string The IPv6 address to check, e.g. 21DA:00D3:0000:2F3B:02AC:00FF:FE28:9C5A
$cidrnet string The IPv6 CIDR block, e.g. 21DA:00D3:0000:2F3B::/64
Résultat boolean
    protected static function checkIPv6CIDR($ip, $cidrnet)
    {
        $ip = inet_pton($ip);
        $binaryip = self::inet_to_bits($ip);
        list($net, $maskbits) = explode('/', $cidrnet);
        $net = inet_pton($net);
        $binarynet = self::inet_to_bits($net);
        $ip_net_bits = substr($binaryip, 0, $maskbits);
        $net_bits = substr($binarynet, 0, $maskbits);
        return $ip_net_bits === $net_bits;
    }