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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 901 fois - Téléchargée 32 fois

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

Ajouter un commentaire

Commentaires

osman_amine
Messages postés
14
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2007
-
merci pour ce code je vien de l'ajouter a mon site.
cs_windu
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006
-
salut osman_amine!
Content de savoir que ce code a pu etre utile a quelqu'un d'autre que moi....
osman_amine
Messages postés
14
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2007
-
si jamais tu utilise yahoo messenger mon id est "lionoma" pour me contacter à tout moment surtout pour partager nos connaissances en php.
Merci
_mat
Messages postés
1
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
17 janvier 2007
-
Salut, merci pour ton code !
Je vais m'en servir à ma sauce son mon site web interne ...
Frank9321
Messages postés
56
Date d'inscription
samedi 4 février 2006
Statut
Membre
Dernière intervention
12 janvier 2008
-
Salut,
merci beaucoup pour ton code, tres pratique!!
9/10

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.