Подробна информация за дадено IP
18-06-2011
Здравейте тъй като много хора питат в форума примерно как да разберат от кой град е дадено IP, реших да направя едно малко уроче с което може да видите hostname,държава,регион,град и ISP на дадено IP :)

Използвах whatismyipaddress.com за да взема информацията за IP-то

<?php
header( 'Content-Type:text/html; charset=UTF-8' );
function ipinfo($ip){ //създава функция която ще ни показва инфото за даденото IP
$get = file_get_contents("http://whatismyipaddress.com/ip/$ip");//вземаме source кода от whatismyipaddress
$a = explode("<th>Country:</th><td>",$get);
$b = explode(" <img",$a[1]);
$country = $b[0];//вземаме държавата от която ip-то
$c = explode("<th>State/Region:</th><td>",$get);
$d = explode("</td>",$c[1]);
$region = $d[0];//вземаме региона от който ip-то
$e = explode("<th>City:</th><td>",$get);
$f = explode("</td>",$e[1]);
$city = $f[0];//вземаме държавата от която ip-то
$g = explode("<th>ISP:</th><td>",$get);
$h = explode("</td>",$g[1]);
$isp = $h[0];//вземаме града от който ip-то
$i = explode("<th>Hostname:</th><td>",$get);
$j = explode("</td>",$i[1]);
$hostname = $j[0];//вземаме hostname на ip-то
$result = "<b>IP:</b> $ip <br /><b>Hostname:</b> $hostname <br /><b>Държава:</b> $country <br /><b>Регион:</b> $region <br /><b>Град:</b> $city <br /><b>ISP(Доставчик):</b> $isp <br />";//правим си променлива с цялата информация
return $result;//връщаме цялата информация
}

$ip=htmlspecialchars($_GET['ip']);//Вземаме ip-то от линка
if(!$ip OR !isset($ip)) {// ако няма query в линка или то е празно...
$ip=$_SERVER['REMOTE_ADDR'];//...ще вземе твоето IP...
echo ipinfo($ip);//...и ще изведе информацията за твоето IP(т.е на човека който е влязал в страницата)
}
else{//ако има query и има някакво IP...
echo ipinfo($ip);//ще изведе информацията за взетото с $_GET-IP
}
?>


Направил съм така, че ако се влезе в site.com/stranicata.php или site.com/stranicata.php?ip= (т.е без нищо за IP) ще изведе информация за IP-то на човека който е в страницата, а ако влезе в site.com/stranicata.php?ip=91.139.246.220 ще изведе информацията за IP-то в query-то от линка :).

Демо 1
Демо 2

Дано съм ви бил полезен :) При проблеми или въпроси пишете в форума :)

Урока е авторски и забранявам копирането му в други сайтове без разрешението ми или това на администраторите!!!





/ Трябва да сте регистриран за да напишете коментар /
От: Ev0luti0N
16:55 18-06-2011
Това наистина показва точна информация дори и за Виваком. :)
От: Hous
20:07 18-06-2011
Интересно :)
От: stoqnski
1:09 19-06-2011
КОДА НЕ Е ТВОЙ . ПИШИ ИЗТОЧНИКА . Да се добавят коментари по даден код , не ти прехвърля авторските права !
От: Karcho
12:39 19-06-2011
Не знам, но лично на мен не ми харесва да завися от друг сайт, в случая http://whatismyipaddress.com/. Мисля, че е най добре с PEAR - Net_GeoIP - http://pear.php.net/package/Net_GeoIP/...
От: IzKuFeLiQqQqQ
19:03 19-06-2011
@Ev0luti0N @Hous благодаря ви :)

@stoqnski да верно, че мяза на кода на proba, но просто по същия начин щях да го направя, а и аз зех кода и го разширих(на proba беше само за държава и град)... просто не започнах от 0-лата а и с proba сме се разбрали, с него се знаем, споко ;)

@Карчо, амиго някои не са такива големи умници като тебе и няма се спряват с това... аз това го направих за начинаещи или мързели(като мене xD(само 2-рото!))...
От: root321
6:49 20-06-2011
На мен град не ми показва... дори и във сайта http://whatismyipaddress.com
От: emcuemnecu
14:52 12-03-2012
Не работи при мен !
От: IzKuFeLiQqQqQ
1:30 29-03-2012
Тея са сложили защити за браузър и т.н... Ще направя нов урок тея дни... даже ще сменя сайта ;)
1