Verification d'une adresse ip

Contenu du snippet

Verification si une adresse IP [$atester] est a l'intérieur d'une plage d'adresses donnée [$debut,$fin].

ce code a été crée pour améliorer le code source de
New_World mis sur le site le 30/01/2009.

Source / Exemple :


<?php
/*
Verification si une adresse IP est a l'intérieur d'une plage
d'adresses donnée. Version Cherif BENBARCHE . 06 Fev 2009 .

  • /
function in_plage($debut, $fin, $atester) { $x = explode(".", $debut); $y = explode(".", $fin); $z = explode(".", $atester); // test de la correction des adresses fournies $correct = 0 ; for( $i = 0; $i < 4; $i++ ) { $correct += (($x[$i] >= 0) AND ($x[$i] <= 255)) ? 1 : 0 ; $correct += (($y[$i] >= 0) AND ($y[$i] <= 255)) ? 1 : 0 ; $correct += (($z[$i] >= 0) AND ($z[$i] <= 255)) ? 1 : 0 ; } // conversion decimale des adresses IP fournies si toutes sont correctes if( $correct == 12) { $dec_debut = $x[0] * 16777216 + $x[1] * 65536 + $x[2] * 256 + $x[3] ; $dec_fin = $y[0] * 16777216 + $y[1] * 65536 + $y[2] * 256 + $y[3] ; $dec_atester = $z[0] * 16777216 + $z[1] * 65536 + $z[2] * 256 + $z[3] ; // test de l'inclusion de l'adresse IP a tester à l'interieur de la plage spécifiée $incluse = ( $dec_atester >= $dec_debut AND $dec_atester <= $dec_fin) ? TRUE : FALSE ; return $incluse ; } else print "Il y a ". intval(12 - $correct)."<b> erreur(s)</b> dans les adresses fournies.<br>"; } // end function in_plage // test de la fonction in_plage $debut = "192.168. 0. 0"; $fin = "192.168.255.255"; $atester = "192.168. 0.137"; $resultat = in_plage( $debut, $fin, $atester ); $string = $resultat ? " figure " : " ne figure pas "; echo "L'adresse IP <b>".$atester.$string."</b>dans la plage ".$debut." à ".$fin ; ?>

Conclusion :


Ce code peut servir de base à diverses manipulations
d'adresses IP.
Bon courage.
Version 1.0 - 06 Fev 2009 .
BENBARCHE

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.