GeoIP - identifikacija zemlje kojoj IP adresa pripada

Započeo holodoc, 28.08.2009, 18:32

prethodna tema - sledeća tema

holodoc

28.08.2009, 18:32 Poslednja Izmena: 05.11.2010, 19:43 od Siniša Ranđić


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.
<?php
abstract class Ignorance extends Stupidity implements Unavoidable 
    private function 
__construct(){
        
parent::__destruct();
    }; 

// EOF -> life.php

pseudobluz


holodoc

28.08.2009, 21:39 #2 Poslednja Izmena: 05.11.2010, 19:47 od Siniša Ranđić
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>
<?php
abstract class Ignorance extends Stupidity implements Unavoidable 
    private function 
__construct(){
        
parent::__destruct();
    }; 

// EOF -> life.php