Mein Blog

Apache:GeoIP um City erweitern

Es gibt sicher mal den Moment eines Webmasters wo man sich wünscht bestimmte Besucher vom Besuch einer Webseite aus zu sperren. Sei es weil der Inhalt nur für ein bestimmtes Land gedacht ist oder weil einfach zu viel unerwünschte Anfragen aus einem bestimmten Land kommen.

Für diesen Zweck gibt es das Apache:GEOIP Modul. Es stellt den Country-Code (“DE”) und den Landnamen nach ISO zur verfügung (“Germany”).

Das ganze Projekt ist unter http://www.maxmind.com/app/mod_geoip sehr gut dokumentiert. Unter debian reicht ein einfaches apt-get install libapache2-mod-geoip gefolgt vom /etc/init.d/apache restart  – Auf maxmind.com findet ihr auch passende Beispiele für eine .htaccess um den Zugriff auf bestimmte Bereiche zu limitieren.

So und wem das nicht reicht der kann die Datenbank noch erweitern. Unter der URL http://www.maxmind.com/app/geolitecity findet ihr außerdem die City Variante der Datenbank – KOSTENFREI, dank GPL/LGPL Lizenz.

Zum einbinden müßt ihr nur die .dat entpacken und nach /usr/share/GeoIP kopieren und in der /etc/apache2/mods-available/geoip.conf eintragen. Danach wieder ein apache reload.

Dank dieser Datenbank werden dann weitere Felder in $_SERVER zur Verfügung gestellt: REGION, CITY, DMA_CODE, AREA_CODE und die Länge und Breite der IP.

Somit kann man die Region sogar per GPS Daten eingrenzen bzw. ein Land in verschiedene Regionen. Z.B. für regionale Angebote

Die mobile Version verlassen