Länderzugriffe mit mod_geoip einschränken

Mithilfe des Apache-Moduls mod_geoip lässt sich der Zugriff auf eine Website basierend auf dem geografischen Standort der IP-Adresse steuern. Hinweis: Entgegengesetzte Anweisungen (z. B. aus einer vom Anbieter gelieferten .htaccess) können die hier beschriebenen Regeln außer Kraft setzen.

Länderbasierte Zugriffssteuerung

Blacklist-Beispiel: Zugriff aus China und Japan blockieren

<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE JP BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
    <RequireAll>
        Require all granted
        Require not env BlockCountry
    </RequireAll>
</IfModule>

Whitelist-Beispiel: Nur Zugriff aus Deutschland und den USA erlauben

<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
        Require env AllowCountry
</IfModule>
Diese Regeln lassen sich flexibel erweitern: Füge einfach weitere SetEnvIf-Zeilen für zusätzliche Länder hinzu. Verwende dabei stets den zweistelligen ISO-Ländercode. Eine vollständige Übersicht der Codes findest du hier: ISO 3166-1-Ländercodes – Wikipedia

Kontinente als Grundlage der Steuerung

Blacklist-Beispiel: Zugriff aus ganz Asien blockieren

<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_CONTINENT_CODE AS BlockContinent
    <RequireAll>
        Require all granted
        Require not env BlockContinent
    </RequireAll>
</IfModule>

Whitelist-Beispiel: Nur Zugriff aus Europa und den USA zulassen

<IfModule mod_geoip.c>
GeoIPEnable On
SetEnvIf GEOIP_CONTINENT_CODE EU AllowContinent
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
Require env AllowCountry
Require env AllowContinent
</IfModule>
Lesen Sie bitte auch: