[PHP] test de script sur les adresses IP svp [résolu]

test de script sur les adresses IP svp [résolu] [PHP] - PHP - Programmation

Marsh Posté le 31-03-2004 à 16:49:09    

Salut à tous,
 
--EDIT : les tests sont finis, l'URL n'existe plus mais le source est en bas ...
 
J'ai réalisé un script pour récupérer l'adresse IP du visiteur.
J'ai essayé de tenir compte des différentes possibilités : firewall, proxy, ...
 
 
la source est affichée en sur la page donc pas de surprise ... ;)
 
Pour ceux qui auront un résultat incohérent, peuvent ils me donner leur config : mode de connection, firewall, proxy, réseau d'entreprise ... que je comprenne.
 
Merci


Message édité par T509 le 23-01-2005 à 18:21:10
Reply

Marsh Posté le 31-03-2004 à 16:49:09   

Reply

Marsh Posté le 31-03-2004 à 17:37:03    

Ca marche niquel chez moi en tout cas :) (routeur+firewall)

Reply

Marsh Posté le 31-03-2004 à 19:25:45    

Merci Gooopil, d'autres ?

Reply

Marsh Posté le 31-03-2004 à 22:03:36    

ahem...Ouais ca marche toujours chez moi :)
 
Désolé, je sors

Reply

Marsh Posté le 31-03-2004 à 22:52:46    

je vois pas pourquoi ça marcherais pas...

Reply

Marsh Posté le 31-03-2004 à 23:05:51    

Je ne sais pas, j'aivais fait un truc qui ressemblait une fois, et parfois, l'IP n'était qu'une chaine vide.
 
J'en ai déduit que cela venait des configs réseau du client. mais je n'ai jamais su pourquoi.
 
c'était pour déterminer le pays d'origine du client et parfois j'en étais incapable.
 
Si certain d'entre vous ont des config réseau d'entreprise, je suis intéressé par un test et en connaitre le résultat.
 
Merci

Reply

Marsh Posté le 02-04-2004 à 14:14:40    

:bounce:


Message édité par T509 le 02-04-2004 à 14:14:53

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-04-2004 à 14:19:55    

On est censé voir combien d'IP différentes ?
Je suis derrière routeur + firewall ( ce que tu appelles config réseau entreprise...) et je vois sur ta page mon IP publique.

Reply

Marsh Posté le 02-04-2004 à 15:49:55    

1 seule
Ton IP réseau interne n'est pas intéréssante, c'est l'Ip publique qui m'intéresse puisque je cherche à obtenir cette IP pour déduire le pays de connection afin de rediriger vers la version de la langue la plus adéquate.
 
Je demande ce test car auparavant, j'avais un script qui dans 40% des cas renvoyait une adresse IP vide.
 
j'ai voulu corriger cela et n'ayant pas toutes les config réseau chez moi, je demande votre aide
 
Merci


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-04-2004 à 17:22:08    

moi j'aime bien :  
avec le reseau entreprise - comme y une repartition de charge en plusieurs proxy - ca me met une adresse différente selon le proxy :D !
 
et y a que REMOTE_ADDRESS qui passe !


Message édité par jolly le 02-04-2004 à 17:23:43
Reply

Marsh Posté le 02-04-2004 à 17:22:08   

Reply

Marsh Posté le 02-04-2004 à 17:30:25    

Merci !


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-04-2004 à 17:32:03    

Voila ce que ca m'affiche:
 
votre IP : ***.***.***.***
 
--------------------------------------------------------------------------------
user_agent : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.1.4322)
client_ip :  
x_forwarded_for :  
accept_language : fr

Reply

Marsh Posté le 02-04-2004 à 17:35:34    

Ah ! voilà un test qui m'intéresse !
 
Quelle est ta config ?
d'après toi, quel est le paramètre qui cause ces *** ?


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-04-2004 à 17:46:47    

:lol: Non en fait j'ai caché mon IP ... :lol:  
Sinon je l'a vois  :D

Reply

Marsh Posté le 02-04-2004 à 17:47:27    

Merci petit malin :lol:


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 02-04-2004 à 18:10:24    

Code :
  1. Voila ce que ca m'affiche:
  2. votre IP : 195.212.X.X
  3. --------------------------------------------------------------------------------
  4. user_agent :Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040206 Firefox/0.8
  5. client_ip :
  6. x_forwarded_for :
  7. accept_language : en-us,en;q=0.5


 
par contre j'suis francais : le parametre de langue je crois que tu le recupere version OS...
 
au passage si tu veux avoir les données : fait un enregistrement BDD !


Message édité par jolly le 02-04-2004 à 18:10:38
Reply

Marsh Posté le 02-04-2004 à 19:16:33    

Mon IP est 81.13.152.x
 
je viens d'où ? et je parle quelle langue ?
 
 

Reply

Marsh Posté le 02-04-2004 à 19:24:51    

votre IP : 80.11.159.9
user_agent : Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.6) Gecko/20040207 Firefox/0.8
client_ip :
x_forwarded_for :
accept_language : fr,en;q=0.7,us-en;q=0.3


---------------
www.novemberguitars.com
Reply

Marsh Posté le 02-04-2004 à 19:26:14    

votre IP : 81.13.152.x
user_agent : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.6) Gecko/20040206 Spacehorse/0.8 (All your Firefox/0.8 are belong to Firesomething)
client_ip :
x_forwarded_for :
accept_language : fr,fr-fr;q=0.7,en;q=0.3

Reply

Marsh Posté le 02-04-2004 à 19:59:55    

Pour déterminer la langue, j'utilise ensuite la base ip-to-country  
http://ip-to-country.webhosting.info/
 
Ce script ci dessus ne le fait pas. C'est aiileurs ...


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 03-04-2004 à 18:21:54    

Etant donné les retours que j'ai eu, merci à tous ceux qui ont testé ce script.
 
Pour les intéressés, ci dessous le code :
 

Code :
  1. <?php
  2. function recup_ip_client() {
  3.    
  4.     $ip = 0;
  5.    
  6.     //récup des adresse renvoyées par un proxy si elles existent
  7.     if (!empty($_SERVER['HTTP_CLIENT_IP'])) $ip= $_SERVER['HTTP_CLIENT_IP'];
  8.    
  9.     if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  10.         //si liste d'adresses, traitement de la liste
  11.         $liste_ip = explode(", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
  12.         if ($ip) {
  13.             array_unshift($liste_ip, $ip);
  14.             $ip = 0;
  15.         }
  16.         //repérage des adresse de réseaux locaux
  17.         foreach($liste_ip as $valeur)
  18.             if(!eregi("^(192\.168|172\.16|10|224|127|0)\.",$valeur))
  19.             return $valeur;
  20.     }
  21.     //si l'adresse n'est pas trouvée, retour de l'adresse apparente $_SERVER['REMOTE_ADDR']
  22.     return $ip ? $ip : $_SERVER['REMOTE_ADDR'];
  23. }
  24. echo "votre IP : ".recup_ip_client()."<br/>";
  25. ?>


 
Je supprime la page de test


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 05-04-2004 à 09:17:28    

oki et pour le choix de la langue .. ton script il fait quoi pres ?  
il se base sur un lien : IP - Pays ou sur la conf du navigateur (paramete recuperable - je crois)  
 
on peux pas avoir la suite du script ? :D

Reply

Marsh Posté le 05-04-2004 à 10:41:37    

Il se base sur un lien IP - Pays
La suite du script c'est une simple intérrogation BDD après tranformation d'IP avec ip2long()
 
Va voir IP-to-country, la base est dispo là : http://ip-to-country.webhosting.info/node/view/9
 
article ici :
http://cyberzoide.developpez.com/php4/ip-to-country/


Message édité par T509 le 05-04-2004 à 10:47:45

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed