2009-02-26 3 views
6

Ich brauche eine konsistente und zuverlässige Art und Weise den Standort (Staat/Provinz, Land, usw.) einen Computer, um festzustellen, dass meine Website besucht, jede der folgenden Methoden: Wie kann ich den Standort eines Besuchers auf meiner Website genau bestimmen?

  • PHP
  • JavaScript
  • MySQL
  • Alle Web Services
  • Etwas, das ich habe nicht gedacht?

Ich bin sind nicht für ein locked-out 3rd-Party-Statistik-Programm wie Google Analytics an. Es ist bereits in Gebrauch und macht erstaunliche Sachen, aber ich benötige Code-Level-Zugriff auf die Informationen.

Die ideale Lösung sollte mich (wie eine IP-Adresse), um erlauben, was Informationen erforderlich ist, und genau so viele Informationen wie möglich über den Besuch zu erhalten. Die Erlangung des Herkunftslandes ist eine Mindestanforderung, aber Extras wie Staaten, Breiten- und Längengrad, Stadt usw. wären nett.

Klarstellung: Ich brauche die Informationen regelmäßig in PHP-Code verwenden zu können. Nicht nur irgendwo sehen.

Antwort

0

Hostip.info bietet einen freien IP-GeoLookup API für die Verwendung in Ihrer Anwendung. IP-Lookups werden jedoch aufgrund der einfachen Proxy-Funktion NICHT konsistent oder zuverlässig sein. Jeder Besucher Ihrer Website hinter einem Proxy wird wahrscheinlich falsch gemeldet.

Allerdings ist es das Beste, was Sie mit einer IP tun können.

1

Wenn Sie 100% Zuverlässigkeit meinen, ist es nicht da. Aber Sie können MaxMind für Geolocation verwenden, wenn zuverlässig weniger als 100% bedeutet. Sie haben eine Open-Source-Version:

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

Es gibt auch einen kostenpflichtigen Dienst, wenn Sie mehr Genauigkeit für Ihre Ergebnisse benötigen.

0

Nur für die Länderregion. Geoip libraries sind nützlich.

Es gibt sogar ein Befehlszeilenprogramm in Linux.

Sie können auch Umgebungsvariablen mit Ihrem PHP-Skript greifen.

Hier ist ein Perl-Skript, das ich eine Weile zurück zu display die Variablen geschrieben. Nichts Außergewöhnliches.

#!/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)) ; 

können Sie den Browser sehen

Verwandte Themen