
Lorsque nous travaillons avec Adresses IP Nous pouvons effectuer certaines actions sur la base de ces identificateur de. On peut obtenir la emplacement, garantie ou refuser accès, effectuer filtré par gammes, etc..
Dans le cas où nous devons faire un Filtrer par gamme, ou toute autre opération qui veux savoir si une adresse IP donnée appartient ou non à une plage d’adresses, Nous pouvons faire usage de la fonctions natives appel PHP ip2long.
Fonction ip2long Retourne une valeur entier signé numérique, tant de valeurs qui seront retournées seront négatif pour les architectures de 32 bits. Pour mettre en forme correctement devront utiliser le format sans signe (%u) transmettez la valeur mise en forme par la fonction printf().
1 | printf ( "%u", ip2long( $ip ) ); |
Retour à notre but de savoir si un certain Adresse IP appartient à une plage d’adresses, puis vous quittez la code pour ce faire:
1 2 3 4 5 6 7 8 9 10 11 | function estaIPDentroDeRango( $ip, $inicioRango, $finRango ) { if ( $finRango === false ) { $estaDentro = ( $inicioRango === $ip ); } else { $estaDentro = ( ip2long( $inicioRango ) <= ip2long( $ip ) && ip2long( $finRango ) >= ip2long( $ip ) ); } return $estaDentro; } |
Comme vous pouvez le voir, quelque chose est très simple calculer. Exécuter uniquement les conversions à l’aide de la fonction ip2long venant de directions différentes et Vérifier les différents conditionnelle Nous vous indiquerons Si l’adresse IP se trouve dans les limites, inclusive, gamme.
