[sql]IP Сеть Код Страна полное название 127.0.0.1 XXX Local/Grey NetWork(s) 91.124.123.213 NA -[/sql]
Добрый день. У меня есть база данных айпи адресов и их привязка к странам. Она в таком формате 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. Подскажите пожалуйста как вообще построена база геоайпи? И как мне самостоятельно добавлять туда диапазоны?
А что если дергать данные с Б.Д. ripe.net ??? (тогда не надо составлять базу свою) Примерно вот так: PHP: <?php interface db { public function search($ip); } class ip2country { protected $searchEngine; function __construct($interface) { if (class_exists($interface)) { $this->searchEngine=new $interface; } else { trigger_error("Указанного интерфейса `".$interface."` не существует.", E_USER_ERROR); } } protected function getIp() { $ip=$_SERVER["REMOTE_ADDR"]; if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) { $ip=$_SERVER["HTTP_X_FORWARDED_FOR"]; } return $ip; } public function getInfo() { return $this->searchEngine->search($this->getIp()); } } class ripeWhois implements db { public function search($ip) { $data=null; // наши данные с базы $sp=fsockopen("whois.ripe.net", 43); fputs($sp, $ip."\r\n"); while(!feof($sp)) { $data .= fread($sp, 1024); } fclose($sp); /** * Конечно еще надо отпарсить data.... но честно говоря влом :) */ return $data; } } $newSearch=new ip2country('ripeWhois'); echo "<pre>".$newSearch->getInfo(); ?>
А меня не нашел (( IP -78.107.97.186 Сеть- - Код Страна полное название- NA А вообще москва- Сеть Corbina
раньше когда смотрел определил правильно... щас нет... 82.118.137.135- Баку, Азрбайджан а вот тут правильно определил: http://yoip.com.ua/tools/geoip
Хмм... мой не определил. удивительно. Обычно , всегда определяется.... [ip] Кстати здесь http://www.ip2city.ru - удобный сервис, определение города по Ip даже. составляете ссылку вида http://www.ip2city.ru/ip2city.php?ip=тут ip - и он определяет ip - Скрипт из нескольки строк получится
http://www.ip2city.ru/ip2city.php?ip=127.0.0.1 :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: