Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VÉRIFIER SI L'ADRESSE IP DU CLIENT APPARTIENT À UNE PLAGE IP DÉFINIE


Information sur la source

Catégorie :Réseau & Internet Niveau : Initié Date de création : 18/10/2004 Vu : 10 083

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

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

  • <?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);
  • }
  • ?>
<?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...

 

Commentaires et avis

signaler à un administrateur
Commentaire de osman_amine le 20/10/2004 12:13:45

merci pour ce code je vien de l'ajouter a mon site.

signaler à un administrateur
Commentaire de windu le 22/10/2004 21:07:44

salut osman_amine!
Content de savoir que ce code a pu etre utile a quelqu'un d'autre que moi....

signaler à un administrateur
Commentaire de osman_amine le 25/10/2004 11:29:53

si jamais tu utilise yahoo messenger mon id est "lionoma" pour me contacter à tout moment surtout pour partager nos connaissances en php.
Merci

signaler à un administrateur
Commentaire de _mat le 17/01/2007 23:08:18

Salut, merci pour ton code !
Je vais m'en servir à ma sauce son mon site web interne ...

signaler à un administrateur
Commentaire de Frank9321 le 17/05/2007 13:47:02

Salut,
merci beaucoup pour ton code, tres pratique!!
9/10

signaler à un administrateur
Commentaire de bokal le 19/05/2007 20:15:48

est il possible de récupéré les variable $plageIP d'un base de donnée?? j'ai envie d'utilisé ce script dans mon site a fin de virer les mauvaise graines...

signaler à un administrateur
Commentaire de dededede4 le 03/06/2008 19:37:52 8/10

Bien !!!
Tu aurait pus metre une conection a la bdd...
Non ?
Pas grave :°

signaler à un administrateur
Commentaire de enhr le 22/01/2009 11:38:35

Bonjour ce code peut-il êre utiliser pour compter le nombre de connexion à un moment donné sur un site?
Merci

signaler à un administrateur
Commentaire de New_World le 30/01/2009 18:32:56

bonjour a tous,
c'est trés utile comme code mais dommage c'est limité ca marche que pour les plage suivante deb"=>"X.0.0.0","fin"=>"Y.254.254.254 c a revoir avant d'utilisé ;=)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.