"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment vérifier l'inclusion d'une adresse IP dans un sous-réseau CIDR ?

Comment vérifier l'inclusion d'une adresse IP dans un sous-réseau CIDR ?

Publié le 2024-11-07
Parcourir:828

How to Verify IP Address Inclusion in a CIDR Subnet?

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 la étapes suivantes :

Conversion en entiers longs :

  • Utilisez la fonction ip2long() pour convertir à la fois l'adresse IP et la plage de sous-réseau en entiers longs.

Dérivation du masque de sous-réseau :

  • Si le masque de sous-réseau n'est pas explicitement fourni (/xx), supposez un masque par défaut de /32.
  • Calculez le masque de sous-réseau en appliquant un décalage vers la gauche de 1 s à 32 moins la longueur du masque.

Comparaison au niveau des bits :

  • Effectuer une opération ET au niveau du bit entre l'entier long IP et le masque de sous-réseau.
  • Vérifiez si le résultat est égal à l'entier long du sous-réseau.

Mise en œuvre :

La fonction PHP suivante encapsule cette logique :

function cidr_match($ip, $range)
{
    list ($subnet, $bits) = explode('/', $range);
    if ($bits === null) {
        $bits = 32;
    }
    $ip = ip2long($ip);
    $subnet = ip2long($subnet);
    $mask = -1 
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729251256. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3