2009-02-26 4 views
6

je besoin d'une manière cohérente et fiable pour déterminer l'emplacement (état/province, pays, etc.) d'un ordinateur qui visite mon site Web, en utilisant une des opérations suivantes:Comment déterminer avec précision l'emplacement d'un visiteur sur mon site Web?

  • PHP
  • JavaScript
  • Tous les services Web
  • Quelque chose que je ne l'ai pas pensé MySQL
  • ?

Je suis suis pas la recherche d'un programme de stats 3ème partie lock-out tels que Google Analytics. Il est déjà utilisé et fait des choses incroyables, mais j'ai besoin d'un accès au niveau du code à l'information.

La solution idéale devrait me permettre de fournir toute information nécessaire (par exemple une adresse IP) et d'obtenir avec précision autant d'informations que possible sur la visite. L'obtention du pays d'origine est une exigence minimale mais les extras tels que les états, la latitude et la longitude, la ville, etc. seraient agréables.

Précision: Je dois être en mesure d'utiliser les informations régulièrement dans le code PHP. Pas seulement le voir quelque part.

Répondre

0

Hostip.info fournit une API GeoLookup IP gratuit pour une utilisation dans votre application. Toutefois, les recherches IP ne seront pas cohérentes ou fiables en raison de la facilité d'envoi par proxy. Toute personne visitant votre site derrière un proxy sera probablement signalé incorrectement.

Cependant, c'est le meilleur que vous pouvez faire avec une adresse IP.

1

Si vous voulez dire 100% de fiabilité, ce n'est pas là. Mais vous pouvez utiliser MaxMind pour la géolocalisation, si fiable signifie moins de 100%. Ils ont une version open source:

http://www.maxmind.com/app/geolitecity

Il y a aussi un service payant, si vous avez besoin plus de précision pour vos résultats.

0

Juste pour la région de pays. Geoip libraries sont utiles.

Il existe même un programme de ligne de commande sous Linux.

Vous pouvez également saisir des variables d'environnement avec votre script PHP.

Voici un script Perl j'ai écrit un certain temps à display variables. Rien d'extraordinaire.

#!/usr/bin/perl 

print 'Content-type: text/HTML' . "\n\n"; 
print "<body><center>"; 
print "<table border=1>"; 
print '<tr><td>' . $_ . "<td>" . $ENV{$_} . "<br>\n" foreach sort (keys(%ENV)) ; 

Vous pouvez voir le navigateur

Questions connexes