| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > KAK UZNAT STRANU? |
| Автор: Гость_Alik 17.6.2004, 16:52 |
| kak uznatx stranu visitora s pomoshu PHP??? |
| Автор: scriptcoder 17.6.2004, 17:18 |
| Я где-то скачал базу ip адресов. Не помню где. Поищи в Yandexe. Там же и либа пхпэшная есть. И Город примерно узнается как $city = get_region ($_SERVER['REMOTE_ADDR']); Добавлено @ 17:21 А вот нашел URL: http://www.techinfo.net.ru/ip2ruscity/ И вот как я узнаю рагион: $ip = $_SERVER['REMOTE_ADDR']; function get_city_region_by_ip ($ip) { require_once ('ip2ruscity_lib.php'); $r = ip2ruscity_seek_city($ip); if ($r[0] != 1) { $echo = "Регион не определен"; } else { $echo = "{$ip2rusCities[$r[1][0]]}({$ip2rusRegions[$r[1][1]]})"; } return $echo; } Добавлено @ 17:22 Ну это только по России. А базу IP по странам я так нигде найти и не смог Добавлено @ 17:23 найти Добавлено @ 17:23 Если кто знает где ее взять, пж-та сообщите. Мне бы она тоже пригодилась |
| Автор: Secandr 17.6.2004, 18:18 |
| Ещё можно whois вызывать(програмка в юниксе/линуксе). |
| Автор: IZ@TOP 18.6.2004, 10:09 | ||
|
| Автор: Secandr 18.6.2004, 10:29 |
| IZ@TOP У меня дефолтовый en стоит. Оптимальный вариант whois. Точнее ни кто не определит. Там открытым текстом написан адрес конторы, которой пренадлежит ip. |
| Автор: IZ@TOP 18.6.2004, 11:02 |
| Secandr Ну мое дело предложить. А на счет whois я с тобой полностью согласен. |
| Автор: Guest 22.6.2004, 09:59 |
| a kak ispolzovat_ whois??? |
| Автор: Secandr 22.6.2004, 10:56 | ||
| в командной строке пишишь whois 213.90.132.23, а он тебе выдаёт информацию. Соответствено из php можно вызвать
|
| Автор: MuToGeN 22.6.2004, 11:45 |
| ...только запускать это, естественно, не под виндой |
| Автор: IZ@TOP 22.6.2004, 12:00 |
| MuToGeN А под виндой что запускать? |
| Автор: Secandr 22.6.2004, 12:48 |
| IZ@TOP А часто веб сервера под виндой стоят? можно ещё у стороннего сайта спросить: http://www.ripe.net/perl/whois |
| Автор: Ignat 22.6.2004, 13:30 | ||
Они часто под виндой лежат |
| Автор: Secandr 22.6.2004, 14:00 |
| Ignat Не будем разводить флейм о приимуществе Windows перед Unix, а вернёмся к теме: "Как узнать страну поситителя". |
| Автор: Ignat 22.6.2004, 14:44 |
| Secandr, sorry, наболело за три последних дня. А к вопросу как узнать страну: здесь лежит http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip, в CSV - остаётся залить в мускуль, полученный ip адрес перевести в ipNumber (в базе они так хранятся), формула http://ip-to-country.webhosting.info/node/view/261 и... наслаждайтесь. |
| Автор: Secandr 22.6.2004, 15:12 |
| Ignat Проблема в том, что эту базу нужно постоянно пополнять. Сетки раздаются ежедневно. |
| Автор: Ignat 22.6.2004, 15:17 |
| Дык начиналось с чего? scriptcoder сказал, не найдет ли кто базу? Вот база. whois, конечно, вариант который обновлять не надо, но что будет работать быстрее - мускуль или ху из-сервис? Причем база свежая (относительно) 08 июня сего года, они там постоянно обновляются. |
| Автор: Secandr 22.6.2004, 15:53 |
| Ignat Моих IP там нет Согласен. Если нужно определять страну на лету - пользуйся готовой базой. Если не хочешь занимать место в мускуле и проверки не часто идут, пользуйся whois и кешируй запросы в мускуле |
| Автор: Ignat 22.6.2004, 17:01 | ||
И не лень тебе было проверять А кэширование - это мысль. Если совсем достоверная инфа нужна и не жалко место в базе, то можно совместить базу и whois, то бишь ежель в базе нет, то whois и инсертим в базу. |
| Автор: Secandr 22.6.2004, 17:03 |
| Ignat я не проверял, просто они зарегистрированы на днях. Добавлено @ 17:08 Кстати действительно классная идея: берём существующую базу. Загоняем в mysql, добавляем поле - дата последнего обновления и пользуемся. При запросе проверяем есть ли дата в БД. Если есть - берём из БД, если нет делаем whois и заносим в базу. Кроном вешаем скрипт и каждый день ночью в 4:00 обновляем 1% самых старых записей. В итоге получаем базу которая с большой точностью и скоростью будет отражать страну и город. |
| Автор: Ignat 22.6.2004, 17:15 | ||
Проверь - зайди по http://ip-to-country.webhosting.info, если скажут Россия, то есть ты в базе, они пользуются той же. Хотя возможно, что у них этот тандем база-whois уже реализован. А вот город не получится на имеющейся базе, там городов нет, только страны |