За последние 24 часа нас посетили 22448 программистов и 1145 роботов. Сейчас ищет 621 программист ...

ip2country

Тема в разделе "Решения, алгоритмы", создана пользователем 440Hz, 19 апр 2007.

  1. Rollyz

    Rollyz Активный пользователь

    С нами с:
    4 июл 2007
    Сообщения:
    87
    Симпатии:
    0
    [sql]IP Сеть Код Страна полное название
    127.0.0.1 XXX Local/Grey NetWork(s)
    91.124.123.213 NA -[/sql]
     
  2. Rollyz

    Rollyz Активный пользователь

    С нами с:
    4 июл 2007
    Сообщения:
    87
    Симпатии:
    0
    а какая разница =) к прмеру мой провайдер покупает IP хз где потому, в своей стране дороже :shock:
     
  3. websqlneeder

    websqlneeder Активный пользователь

    С нами с:
    17 май 2007
    Сообщения:
    39
    Симпатии:
    0
    Добрый день.

    У меня есть база данных айпи адресов и их привязка к странам. Она в таком формате
    start_long stop_long start_ip stop_ip country country_name
    33996344 33996351 2.6.190.56 2.6.190.63 GBR United Kingdom

    Вот, теперь я хочу самостоятельно добавить туда диапазон. Я пытаюсь на Делфи добавить, но мне не понятно как сопоставлять длинный вид айпи (33996344) и короткий (2.6.190.56). Вот теперь я ради интереса из базы решил проверить. В Делфи есть функция inet_addr('2.6.190.56'), которая по идеи переводит из обычного айпи в длинное. И вот я подставил айпи как в базе НО длинный тип у меня оказался НЕ такой как в базе, то есть по идеи должно было бы быть 33996344, а получилось 951977474.

    Подскажите пожалуйста как вообще построена база геоайпи? И как мне самостоятельно добавлять туда диапазоны?
     
  4. .50

    .50 Активный пользователь

    С нами с:
    7 июн 2006
    Сообщения:
    136
    Симпатии:
    0
    Адрес:
    СПб
    Не определил. Владивосток, 77.35.4.211.
     
  5. GreatWasp

    GreatWasp Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Узбекистан, Ташкент.
    89.236.233.122 (89.236.*.*) - Узбекистан.
     
  6. GreatWasp

    GreatWasp Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Узбекистан, Ташкент.
    А что если дергать данные с Б.Д. ripe.net ??? (тогда не надо составлять базу свою)

    Примерно вот так:
    PHP:
    1.  
    2. <?php
    3. interface db
    4. {
    5.     public function search($ip);
    6. }
    7.  
    8. class ip2country
    9. {
    10.     protected $searchEngine;
    11.    
    12.     function __construct($interface)
    13.     {
    14.         if (class_exists($interface))
    15.         {
    16.             $this->searchEngine=new $interface;
    17.         }
    18.         else
    19.         {
    20.             trigger_error("Указанного интерфейса `".$interface."` не существует.", E_USER_ERROR);
    21.         }
    22.     }
    23.    
    24.     protected function getIp()
    25.     {
    26.         $ip=$_SERVER["REMOTE_ADDR"];
    27.  
    28.         if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
    29.         {
    30.             $ip=$_SERVER["HTTP_X_FORWARDED_FOR"];
    31.         }
    32.  
    33.         return $ip;
    34.     }
    35.  
    36.     public function getInfo()
    37.     {
    38.         return $this->searchEngine->search($this->getIp());
    39.     }
    40. }
    41.  
    42. class ripeWhois implements db
    43. {
    44.     public function search($ip)
    45.     {
    46.         $data=null; // наши данные с базы
    47.        
    48.         $sp=fsockopen("whois.ripe.net", 43);
    49.         fputs($sp, $ip."\r\n");
    50.        
    51.         while(!feof($sp))
    52.         {
    53.             $data .= fread($sp, 1024);
    54.         }
    55.        
    56.         fclose($sp);
    57.         /**
    58.          * Конечно еще надо отпарсить data.... но честно говоря влом :)
    59.          */
    60.         return $data;
    61.     }
    62. }
    63.  
    64. $newSearch=new ip2country('ripeWhois');
    65.            echo "<pre>".$newSearch->getInfo();
    66. ?>
     
  7. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А меня не нашел :(((
    IP -78.107.97.186
    Сеть-
    -
    Код
    Страна полное название- NA


    А вообще москва- Сеть Corbina
     
  8. Danilka

    Danilka Активный пользователь

    С нами с:
    8 ноя 2007
    Сообщения:
    192
    Симпатии:
    0
    81.18.114.12 - Россия, Иркутская область.
    Через CDMA BaikalWestCom
     
  9. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    раньше когда смотрел определил правильно... щас нет...
    82.118.137.135- Баку, Азрбайджан

    а вот тут правильно определил: http://yoip.com.ua/tools/geoip
     
  10. Hawk

    Hawk Активный пользователь

    С нами с:
    30 авг 2007
    Сообщения:
    201
    Симпатии:
    0
    Адрес:
    Беларусь
    Минск верно определил!
     
  11. Prescott

    Prescott Активный пользователь

    С нами с:
    4 апр 2008
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    прямо из Москвы
    Хмм... мой не определил. удивительно. Обычно , всегда определяется.... [ip]

    Кстати здесь http://www.ip2city.ru - удобный сервис, определение города по Ip даже.

    составляете ссылку вида http://www.ip2city.ru/ip2city.php?ip=тут ip - и он определяет ip - Скрипт из нескольки строк получится
     
  12. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Prescott
    смените аватар, разрешены только личные фото.
     
  13. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    http://www.ip2city.ru/ip2city.php?ip=127.0.0.1



    :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
     
  14. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    вот это больше всего радует :) Читать в обратную сторону.