Apache2 in Verbindung mit mod_geoip ist eine Interessante Möglichkeit, bestimmte Länder von denen viel Spam und Bots kommen, auszusperren.
mod_geoip installieren:
Die Installation auf einem Debian Squeeze Server ist durch das Repository recht einfach:
apt-get install libapache2-mod-geoip
mod_geoip konfigurieren:
Die Konfigurationsdatei liegt unter “ /etc/apache2/mods-available/geoip.conf“:
nano /etc/apache2/mods-available/geoip.conf
In der werden alle Konfigurationen vorgenommen
Die Default Werte aktivieren mod_geoip nach einem Neustart von Apache2
Bestimmte Länder blockieren:
Um bestimmte Länder zu sperren muss noch einmal die Konfigurationsdatei geöffnet werden und folgendes so abgeändert werden:
<IfModule mod_geoip.c> GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry </IfModule> <Location /> Deny from env=BlockCountry </Location>
In dem Beispiel sperren wir die Länder Russland (RU) und China (CN) aus. Eine Liste der Länder Codes findet man bei hier > bei Wikipedia!
mod_geoip testen:
Um zu testen ob mod_geoip funktioniert, muss eine .php Datei erstellt und aufgerufen werden:
<html> <body> <?php $country_name = apache_note("GEOIP_COUNTRY_NAME"); print "Country: " . $country_name; ?> </body> </html>