2009-02-26 7 views
6

muszę spójny i niezawodny sposób, aby określić lokalizację (stan/prowincja, kraj, itp) komputera, który odwiedza moją stronę internetową, korzystając z jednej z następujących opcji:Jak dokładnie określić lokalizację odwiedzającego moją witrynę?

  • PHP
  • JavaScript
  • MySQL
  • Wszelkie usługi sieciowe
  • Coś, o czym nie pomyślałem?

Jestem nie Szukam zablokowanego programu statystyk stron trzecich, takiego jak Google Analytics. Jest już w użyciu i robi niesamowite rzeczy, ale potrzebuję dostępu na poziomie kodu do informacji.

Idealne rozwiązanie powinno umożliwić mi podanie wszelkich wymaganych informacji (takich jak adres IP) i dokładne uzyskanie jak największej ilości informacji o wizycie. Uzyskanie kraju pochodzenia jest minimalnym wymogiem, jednak dodatki takie jak stany, szerokość i długość geograficzna, miasto itp. Byłyby miłe.

Wyjaśnienie: Muszę mieć możliwość regularnego korzystania z informacji w kodzie PHP. Nie tylko to gdzieś.

Odpowiedz

0

Hostip.info zapewnia bezpłatny interfejs API GeoLookup IP do użycia w aplikacji. Jednak wyszukiwania IP NIE będą spójne ani niezawodne ze względu na łatwość proxy. Każdy, kto odwiedzi Twoją witrynę zza serwera proxy, prawdopodobnie zostanie zgłoszony nieprawidłowo.

Jednak to najlepsze, co możesz zrobić z adresem IP.

1

Jeśli masz na myśli 100% niezawodności, nie ma go. Ale możesz użyć MaxMind do geolokalizacji, jeśli niezawodne oznacza mniej niż 100%. Mają otwartą wersję źródło:

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

Istnieje również usługa płatna, jeśli potrzebujesz więcej dokładność wyników.

0

Tylko dla regionu kraju. Geoip libraries są przydatne.

Istnieje nawet program wiersza poleceń w systemie Linux.

Również możesz pobrać zmienne środowiskowe za pomocą skryptu PHP.

Oto skrypt Perla, który napisałem chwilę po display zmiennych. Nic fajnego.

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

Można zobaczyć przeglądarkę

Powiązane problemy