Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GEO IP, Как с ним работать? Какие сервисы есть? 
:(
    Опции темы
Treod
  Дата 10.3.2013, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: нет
Всего: 2



Добрый день!

Встала задача определения города пользователя на сайте.

Как реализовать такую задачу максимально просто, не устанавливая дополнительных библиотек на сервер?
PM MAIL ICQ   Вверх
mark2011
Дата 10.3.2013, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 28.6.2011

Репутация: 2
Всего: 2



Ну вообще есть библиотека от MaxMind, но если Вы так желаете, можно извратиться:

1. По какому-нибудь сервису определяем IP, которые относятся к тому или иному городу. Запариваемся. Понимаем, что это геркулесова задача.
2. Создаём таблицу:
Код

create table ip_city(
ip_city int unsigned not null auto_increment primary key,
ip_start longint not null,
ip_end longint not null,
city_id int unsigned not null
);

create table cities(
city_id int unsigned not null auto_increment primary key,
city_name varchar(100)character set utf8 not null
);


3. Записываем туда все полученные на п.1 данные.
4. На каждом заходе определяем город путём запроса в базу данных.
PM WWW ICQ Skype   Вверх
Treod
Дата 10.3.2013, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: нет
Всего: 2



Как в MaxMind использовать русские города?
PM MAIL ICQ   Вверх
Sanchezzz
Дата 10.3.2013, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Я подобную задачу делал только у меня были данные от КНБ список доступных ip и подсетей провайдеров.
дальше я whois проверял эти ip и их диапазоны 

На основе полученных данных делал  карту в массиве IP начало диапазона хранится в формате 
ip2long-ip2long-город

в цикле делал перебор входит Ip в интервал или нет.



PS задача не благодарная рекомендую поставить модуль GEOIP или юзать их базу. 




--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 10.3.2013, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



http://habrahabr.ru/post/135596/ - тут ссылка на базу городов по всему миру.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Wowa
Дата 7.5.2013, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Советую поставить nginx и использовать бинарную базу от maxmind, т.е. бинарная будет работать намного быстрее.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM WWW   Вверх
ksnk
Дата 8.5.2013, 09:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Wowa, Возможно, вы не умеете их готовить?  smile 
http://blog.jcole.us/2007/11/24/on-efficie...-and-mysql-gis/
Довольно древняя статья, в которой исследуется метод работы с geoip базой. Сам метод, применяемый в статье уже эффективен и оригинален, а  Update 1 с еще одним способом в добавок еще и понятен, прост и еще более эффективен.

Это я про то, что совет использовать nginx и бинарные базы - не всегда применим.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sanchezzz
Дата 8.5.2013, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Особенно если это требуется только один раз определить откуда пользователь



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.