Vérifier si l'adresse ip du client appartient à une plage ip définie

Contenu du snippet

Voilà, ce code permet de vérifier si l'IP du client appartient à la plage d'adresses IP définie: pour cela il vous suffit de définir la palge autorisé (ce peut même être une seule adresse!)

Source / Exemple :


<?php
$plageIP=array("deb"=>"127.0.0.0","fin"=>"127.254.254.254");
//$plageIP="192.168.0.180";
$yourIP=$_SERVER['REMOTE_ADDR'];
//$yourIP="192.168.0.180";
echo "Votre IP est : ".$yourIP;
if(verifPlageIP($yourIP,$plageIP))
{
	echo "<p>Votre adresse IP est valide!";
}
else
{
	echo "<p>Votre adresse IP n'appartient pas à la plage réseau autorisé!";
}
// et le code permetaant la vérifcation

function verifPlageIP($IP,$PlageIP)
{
	$result=TRUE;
	$tabIP=explode(".",$IP);
	/*echo "<p>tabIP:<br><pre>";
	print_r($tabIP);
	echo "</pre>";*/
	if(is_array($PlageIP))
	{
		/*echo "<p>PlageIP:<br><pre>";
		print_r($PlageIP);
		echo "</pre>";*/
		foreach($PlageIP as $valeur)
		{
			$tabPlageIP[]=explode(".",$valeur);
		}
		for($i=0;$i<4;$i++)
		{
			if(($tabIP[$i]<$tabPlageIP[0][$i]) || ($tabIP[$i]>$tabPlageIP[1][$i]))
			{
				$result=FALSE;
			}
		}
	}
	else
	{
		$tabPlageIP=explode(".",$PlageIP);
		/*echo "<p>tabPlageIP:<br><pre>";
		print_r($tabPlageIP);
		echo "</pre>";*/
		for($i=0;$i<4;$i++)
		{
			if(($tabIP[$i]!=$tabPlageIP[$i]))
			{
				$result=FALSE;
			}
		}
	}
	return ($result);		
}
?>

Conclusion :


Voilà ce code peut servir dans un Intranet pour vérifier si un utilisateur s'est connecté depuis le bon poste! Ainsi certaines pages ne seront accessibles que par certaines adresse IP, donc certains postes...

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.