Möchte man Zugriffe aus bestimmten Ländern auf einen Webserver erlauben oder blockieren, bietet es sich an entweder (sofern vorhanden) dies in der Firewall zu regeln oder alternativ direkt auf dem Webserver.
Am Beispiel vom Apache Webserver und der “.htaccess”-Datei kann dies so aussehen:
order allow,deny deny from 2.60.0.0/19 deny from 2.60.32.0/19 deny from 2.60.64.0/19 deny from 2.60.96.0/19 allow from all
Das ist nur ein kleiner Ausschnitt, denn die IP-Listen für einzelne Länder oder gar Kontinente sind sehr umfangreich. Es gibt mehrere mögliche Quellen aus denen man entsprechende IP-Listen bzw. gleich die passende Syntax für “.htaccess” (und weitere) beziehen kann. Anbei ein paar Beispiele:
Country IP Blocks – Create an Access Control List to Block Countries or Continents
IP2Location – Block Visitors by Country Using Firewall
blog.erben.sk – Country CIDR IP ranges (oder direkt zu Download der Listen)
Quellen:
Hostinger – Tutorials – How to Allow or Block Visitors from Specific Countries Using .htaccess
raymond.cc – 8 Ways to Block Visitors to Your Website by Country
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
wäre es nicht einfacher das Modul mod_geoip für den Apache zu installieren?
Die Konfiguration der Mod erfolgt dann auch per .htaccess.
Bei mir war das größte Problem aktuelle IP-Listen zu bekommen. Aktuelle und gute Listen gab es nur von Kommerziellen Anbietern. Weil so ganz statisch sind die IP-Ranges wohl nicht.
Hallo Jan,
eigentlich ja, aber bei Hosting-Anbietern (kein VPS, kein vServer) geht das meist nicht, daher dieser Weg.