8791 sujets

Développement web côté serveur, CMS

Bonjour,

bon voici une question ou je n'ai trouvé aucune réponse,

je souhaiterais pouvoir faire un controle de la passerelle des pc qui viennent visite mon site intranet afin de pouvoir les diriger sur des pages qui correspondent à leur site

donc en gros,
si passerelle1 c'est ce lien1
si passerelle2 c'est lien2
etc..
etc..

bref ca marche bien à le dire mais pour l'ecrire la je suis coincée
sachant que j'ai utilisé du php et pis du javascript (je suis une ultra débutante)

merci beaucoup
Modifié par cendy60 (03 Jun 2010 - 15:21)
Il me semble que pour avoir l'ip d'un visiteur en php on utilise
$_SERVER["REMOTE_ADDR"]
Bonjour,

Si je comprend, tu as une liste d'ip sur un intranet que tu connais, et tu veux lier les adresses à une page.

Mon idée :
Travailler avec la valeur l'ip

1 créer un tableau avec ip => url

$_SERVER['REMOTE_ADDR']
$list_ip = array('::1' => '/localhost/', '127.0.0.1' => '/localhost/'); 

2 récupérer l'adresse avec php

$_SERVER['REMOTE_ADDR']

3 contrôler par rapport au tableau et redirection

// tableau liste des ip et adresses
$list_ip = array('::1' => '/localhost/', '127.0.0.1' => '/localhost/');
// contrôle et redirection
if (array_key_exists($_SERVER['REMOTE_ADDR'], $list_ip)) {
	// si existe dans tableau redirection
	header('Location :http://'.$_SERVER['HTTP_HOST'].$list_ip[$_SERVER['REMOTE_ADDR']]);
	exit();
	// fin des instructions
} else {
	// autrement message erreur
	header('HTTP/1.0 404 Not Found', true, '404'); 
	header("Status: 404 Not Found");
	exit();
	// fin des instructions
}


Smiley cligne
ah ben coool, vous etes trop fort je le savais,

alors nikel va falloir que je fasse totu cela, par contre, je me suis aprecu qu'il etait preferable
de tester par rapport à la passerelle,

car un site correspo une passerelle, si c'est l'adresse ip que je teste je risque d'avoir plusieurs centaines de possibilite pour une adresse.

donc y a t'il une commande pour recuperer la passerelle?

Merci beaucoup en tout cas
Bonjour,

ben la passerelle,
lors de la configuration de la carte réseau tu as l'adresse ip,
le masque de sous reseau et juste en dessous la passerelle,

c'est en faite c'est l'adresse ip de notre routeur qui differencie les sites ( chaque site a une seule adresse de passerelle)

merci
Tu récuppère l'adresse ip comme on vient de te le suggérer, puis avec une Regex tu isole la passerelle de l'ip, et en fonction de ce résultat tu génère le lien qui correspond Smiley smile Google est ton ami, les Regex j'ai oublié, je ferait surement des bêtises !
Sans passer par les regex, un explode devrait suffir Smiley cligne


list($a_ip1, $a_ip2, $a_ip3, $a_ip4) = explode('.', $_SERVER['REMOTE_ADDR']);


Ainsi :

$_SERVER['REMOTE_ADDR'] = '168.1.0.10';
list($a_ip1, $a_ip2, $a_ip3, $a_ip4) = explode('.', $_SERVER['REMOTE_ADDR']);
// $a_ip1 = 168
// $a_ip2 = 1
// $a_ip3 = 0
// $a_ip4 = 10


Edit : Attention au petits malin qui changerais leur adresse ip Smiley cligne
Modifié par Super_baloo8 (10 Jun 2010 - 16:10)