Omezení dostupnosti webu pro konkrétní země - Linux

Hlavním využitím této funkce je ochrana Vašich webových stránek, kdy je možné chránit celé a nebo určité části webových stránek před nežádoucími návštěvníky, jako například ochrana administrativní části redakčních systémů (například Wordpress). Případně je možné povolit zobrazení obsahu jen pro země, na které je obsah cílený.

K omezení dostupnosti budeme využívat Apache modul mod_geoip, který je dostupný pro Linuxové webhostingové servery. Omezení pomocí mod_geoip znamená, že Váš web se pro určitou zemi bude či nebude zobrazovat a to v závislosti na nastavení, které provedete. Pro návštěvníka s omezeným přístupem se zobrazí tato stránka:


Jedná se o chybovou stránku 403, kterou je možné uživatelsky definovat a nastavit vlastní vzhled.

Využití VPN: Země, ze které návštěvník na web přistupuje se určuje pomocí IP adresy, kterou návštěvník využívá. Při využití VPN je velká možnost, že IP adresa návštěvníka nebude odpovídat místu, kde je připojený k internetu.

Indexace vyhledávačů: Například Google bude na Váš webhosting přistupovat pro indexaci ze zahraničních IP adres.
Z tohoto důvodu doporučujeme zvážit možnost zabezpečení pouze konkrétních částí webu, jako je například administrace instalovaných redakčních systémů.



Pokud tedy chceme omezit dostupnost hlavního webu pomocí mod_geoip, tak tím docílíme přidáním či úpravou souboru ".htaccess" na Vašem FTP. Soubor bude umístěn v hlavním (root) adresáři. Konkrétně v adresáři /www/.


Soubor vytvoříte jako textový dokument a pojmenujete jej ".htaccess" (důležité je nezapomenout v názvu tečku, která je na začátku) a do souboru následně vložíte kód, který je uveden níže. Případně pokud je soubor na Vašem FTP již vytvořený, tak jej upavíte a před již využívaný obsah vložíte kód, který je uveden níže. Soubor je možné upravovat v jakémkoliv textovém editoru.

Soubor s kódem je samozřejmě možné vložit i do jiných adresářů na Vašem FTP, postačí tedy vybrat adresář, který chcete mít tímto omezením chráněný.

Máme dvě možnosti omezení:

1) Povolení země, která na web přistupuje:

GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE SK AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CZ AllowCountry
# ... zde přidejte další povolené země
Deny from all
Allow from env=AllowCountry

V tomto konkrétním případě má přístup na web povolen pouze návštěvník, jehož IP adresa je lokalizovaná pro CZ (Českou republiku) a SK (Slovenskou republiku). Další povolenou zemi přidáte dle nápovědy a vzorce v kódu.

2) Blokování země, která na web přistupuje:

GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE CZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE SK BlockCountry
# ... zde přidejte další blokované země
Deny from env=BlockCountry

V tomto konkrétním případě má přístup na web blokován návštěvník, jehož IP adresa je lokalizovaná pro CZ (Českou republiku) a SK (Slovenskou republiku). Další blokovanou zemi přidáte dle nápovědy a vzorce v kódu.

Svou IP adresu a lokalizaci Vaší IP adresy zjistíte pod tímto odkazem.

Jednotlivé kódové označení zemí naleznete pod tímto odkazem.