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_rewrite, který je dostupný pro Linuxové webhostingové servery. Omezení pomocí mod_rewrite 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:

RewriteEngine on                                                                                                                                                            
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CZ|SK)$                                                                                                                            
RewriteRule ^(.*)$ - [F,L]

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 vzorce v kódu.

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

RewriteEngine on                                                                                                                                                            
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CZ|SK)$                                                                                                                            
RewriteRule ^(.*)$ - [F,L]

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 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.