Laboratorija za računarsku tehniku

Softverske teme => Web razvoj => Serverske aplikacije => Temu započeo: holodoc 28.08.2009, 18:32

Naslov: GeoIP - identifikacija zemlje kojoj IP adresa pripada
Poruka od: holodoc 28.08.2009, 18:32
(http://localhost/sandbox/geoip/images/geoip-logo.png)

Danas sam pokušao za potrebe jednog brzog projekta da na netu nađem bazu koja sadrži podatke o zemljama sveta i njima dodeljene opsege IP adresa. Skoro da sam se razočarao kada sam video da na svakom sajtu postoji neko ograničenje u vidu dozvole da se maksimalno 20 puta na dan vrše upiti i slično. Takođe sam se razočarao što sistemi jednostavno ne nude mogućnost da se u odgovoru servisa dobije isključivo informacija o zemlji odakle potiče IP adresa i to bez ikakvih formi i HTML šminke. Zato sam odlučio da napravim svoj GeoIP sistem :D

Sistemu se može pristupiti preko adrese http://csl.tfc.kg.ac.rs/~brezanac/geoip/

Način korišćenja je jednostavan i podrazumeva da se u tekstualno polje samo ukuca IP adresa koja je od interesa.

Ono što je interesantno je da se zahtev može vršiti i direktno putem URLa i to navođenjem parametra nogui čime se u kompletnom odgovoru dobija samo kod zemlje čiji je IP. Primera radi http://csl.tfc.kg.ac.rs/~brezanac/geoip/geoip.php?ip=213.198.249.216&nogui=true.
Naravno verovatno bi od veće koristi bilo da je odgovor u XML formatu i da pored koda postoji i info o nazivu zemlje itd. To dolazi na red kada završim sa ostalim obavezama.

Što se tiče tačnosti sistema ona je velika jer su podaci koji se proveravaju deo GeoLite baze podataka o čemu se više informacija može naći na sledećem linku http://maxmind.com/. Baza koja se ovde koristi je potpuno besplatna.

Kompletan source i baza nalaze se prikačeni uz ovu poruku.
Naslov: Re: GeoIP - identifikacija zemlje kojoj IP adresa pripada
Poruka od: pseudobluz 28.08.2009, 20:49
Postoji addon za firefox koji ovo elegantno i jednostavno radi:

https://addons.mozilla.org/en-US/firefox/addon/5791 (https://addons.mozilla.org/en-US/firefox/addon/5791)
Naslov: Re: GeoIP - identifikacija zemlje kojoj IP adresa pripada
Poruka od: holodoc 28.08.2009, 21:39
Znam za ovaj addon odavno, čak štaviše koristi se ista baza podataka kao i u ovom mojoj aplikaciji s tim što mi je nešto čudno. GeoLite baza ne sadrži bilo kakve dodatne informacije osim opsega IP adresa i naziva zemlje a na http://geotool.flagfox.net/ recimo može da se vidi i naziv grada pa čak i u Flashu zumirana lokacija porekla IP adrese. S obzirom da u zaglavlju piše da se koristi GeoLite baza a da svi ovi dodatni podaci se koriste u aplikaciji jasno je da ovde ne koriste free bazu (GeoLite) nego komercijalnu pa je verovatno u pitanju neki pirat  :dzavo:

Elem poenta ove moje aplikacije je više u tome da može da se koristi kao API za potrebe drugih aplikacija. Drugim rečima da na zahtev recimo iz PHPa da može da se dobije direktno kod i to bez raznih HTML elemenata u rezultatu kao recimo ovako http://csl.tfc.kg.ac.rs/~brezanac/geoip/?ip=91.187.132.16&nogui=true. To nećeš nigde naći u ovom obliku bar koliko ja znam. Ovde samo treba dodati da odzvivi budu u XML obliku tj. da može više informacija da se prosledi proizvoljnoj aplikaciji pisanoj u bilo kom jeziku tako da odzivi recimo izgledaju ovako
<?xml version="1.0" encoding="utf-8"?>
<result>
    <ip>91.187.132.16</ip>
    <countryCode>RS</countryCode>
    <countryName>Serbia</countryName>
</result>