Je cherche une méthode rapide/simple/(peut-être intégrée que je n'ai jamais remarquée auparavant), pour faire correspondre une IP4 quadruple pointillée donnée à un masque en notation CIDR.
J'ai un tas d'IPs dont j'ai besoin pour voir si elles correspondent à une gamme d'IPs.
exemple :
$ips = array('10.2.1.100', '10.2.1.101', '10.5.1.100', '1.2.3.4');
foreach($ips as $IP)
{
if( cidr_match($IP, '10.2.0.0/16') == true )
{ print "you're in the 10.2 subnet\n"; }
}
résoudre pour cidr_match()
il n'est pas nécessaire que ce soit simple, mais rapide serait bien. tout ce qui n'utilise que des fonctions intégrées/communes est un bonus (car il est probable qu'une personne me montre quelque chose dans pear qui fait cela, mais je ne peux pas dépendre du fait que pear ou ce paquet soit installé là où mon code est déployé)
0 votes
Pour la gestion des adresses IPv6, voir stackoverflow.com/questions/7951061