Vérification de l'inclusion d'une adresse IP dans un sous-réseau CIDR
Pour déterminer si une adresse IPv4 appartient à un sous-réseau CIDR spécifié, une méthode simple implique le étapes suivantes :
Conversion en entiers longs :
Dérivation du masque de sous-réseau :
Comparaison au niveau des bits :
Mise en œuvre :
La fonction PHP suivante encapsule cette logique :
<code class="php">function cidr_match($ip, $range) { list ($subnet, $bits) = explode('/', $range); if ($bits === null) { $bits = 32; } $ip = ip2long($ip); $subnet = ip2long($subnet); $mask = -1 << (32 - $bits); $subnet &= $mask; return ($ip & $mask) == $subnet; }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!