PhP ile GeoIP Kullanımı

Centos üzerinde php modülü olarak GeoIP nin nasıl kurulacağını bir önceki makalemizde belirtmiştik. Bu makalemizde ilgili kuruluma gerek kalmadan, GeoIP database dosyaları üzerinden ziyaretçi ip lerine ait (veya istediğimiz) ülke, şehir, bölge, ISP bilgilerini nasıl bulabileceğimizi anlatacağız.

Bu makalede yer alan geoip modülünü tüm VDS paketlerinde php altında çalıştırabilirsiniz.

Bu makaledeki örnek uygulamanın çalışabilmesi için sunucunuzda php.ini de yer alan şu değeri kaldırarak apache yi yeniden başlatmalısınız (eğer sunucu size ait ise ve geoip kurulu ise) ;

  • Bu işlemi yapmanızı istememizin nedeni bu örnek uygulamada kullanılan geoip.inc dosyasının sunucunuzda yüklemiş olduğunuz geoip ile uyumlu olmaması kaynaklıdır. Yeni uygulamaları elbetteki sunucunuz üzerinde yüklü olan geoip modülü ile geliştiriniz.

php.ini açın ;

bulun ;

değiştirin ;

apache restart edin ;

  • Eğer zaten bir sunucu sahibi değil iseniz yukarıdaki işlemlere gerek bulunmuyor.

Öncelikle Şu örnek hazır scripti indirerek FTP nizden yükleyiniz ;

http://download.cliaweb.com/php/geoip.rar

Bu örnek scriptte geoipregionvars.php, geoip.inc ve geoipcity.inc kullanılmıştır. İndirdiğiniz bu script örnek niteliği taşıdığından bu uygulama ile sınırlı değildir, kendi uygulamalarınızı geliştirebilirsiniz.

Yükleme sonrası örnek bir ip sorgusu çekiyoruz sorunsuz çalışmakta ;

geoip-php-kullanim-script

Yüklediğimiz /data/ klasörü içerisinde maxmind (geoip) e ait 3 adet dat dosyası göreceksiniz ;

GeoIP.dat (ülke ipv4 veritabanı)
GeoIPCity.dat (şehir ipv4 veritabanı)
GeoIPISP.dat (ISP (servis sağlayıcısı) ipv4 veritabanı)

Mevcut dosyaları belirli periyodlarla güncellemenizi öneririz.

Güncel data dosyalarını http://dev.maxmind.com/geoip/legacy/geolite/ adresinden indirebilirsiniz.
GeoIP Ülke Veritabanı : http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
GeoIP Şehir Veritabanı : http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
GeoIP ISP/ASN Veritabanı : http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz

Eğer geoip uygulamaları geliştirirken sorularınız / sorunlarınız olur ise şu link size yardımcı olacaktır ; http://stackoverflow.com/questions/tagged/geoip