Как точно определить местоположение посетителя моего сайта?
Мне нужен последовательный и надежный способ определить местоположение (штат/провинция, страна и т. д.) компьютера, который посещает мой веб-сайт, используя любое из следующих:
- PHP
- JavaScript
- в MySQL
- Любые Веб-Службы
- что-то я не подумал?
Я не ищет заблокированную программу статистики 3rd party, такую как Google Analytics. Он уже используется и делает удивительные вещи, однако мне нужен доступ к информации на уровне кода.
идеальное решение должно позволить мне предоставить любую необходимую информацию (например, ip-адрес) и точно получить как можно больше информации о посещении. Получение страны происхождения является минимальным требованием, однако дополнительные услуги, такие как государства, широта и долгота, город и т.д. Было бы неплохо.
уточнение: мне нужно иметь возможность регулярно использовать информацию в PHP-коде. Не только посмотреть где-нибудь.
4 ответов
Если вы имеете в виду 100% надежность, ее просто нет. Но вы можете использовать MaxMind для геолокации, если надежность означает менее 100%. У них есть версия с открытым исходным кодом:
http://www.maxmind.com/app/geolitecity
существует также платная услуга, если вам необходимо больше точности результатов.
Hostip.info предоставляет бесплатный IP GeoLookup API для использования в вашем приложении. Однако IP-поиск не будет последовательным или надежным из-за простоты проксирования. Кто посещает ваш сайт из-за прокси-сервера, вероятно, будет неправильно.
тем не менее, это лучшее, что вы можете сделать с IP.
только для региона страны. библиотеки Geoip полезны.
в linux есть даже программа командной строки.
также вы можете захватить переменные среды с вашего PHP-скрипта.
вот скрипт Perl, который я написал некоторое время назад в дисплей переменные. Ничего особенного.
#!/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)) ;
вы можете увидеть браузер