Blokování přístupu z vybraných zemí pomocí mod_geoip a .htaccess
Postup a doporučení od týmu exon.io.
Blokování přístupu z vybraných zemí pomocí mod_geoip a .htaccess
Pomocí modulu mod_geoip je možné na hostingu omezit přístup na web podle země návštěvníka. Toto nastavení se hodí například v případě, kdy chcete blokovat návštěvy z konkrétních zemí kvůli spamu, nežádoucím robotům nebo bezpečnostním útokům.
.htaccess, který se obvykle nachází
v hlavní složce webu, například v adresáři public_html.
Příklad blokování vybraných zemí
Níže uvedený příklad zablokuje přístup návštěvníkům z uvedených zemí:
<IfModule mod_geoip.c>
RewriteEngine On
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CN|TR|BR|HK|PH|SG|VN|JP)$
RewriteRule ^ - [F,L]
</IfModule>
Co tento příklad dělá?
Pravidlo kontroluje proměnnou GEOIP_COUNTRY_CODE, která obsahuje dvoupísmenný kód země návštěvníka.
Pokud se země návštěvníka shoduje s některým z uvedených kódů, server vrátí odpověď
403 Forbidden a přístup na web bude zamítnut.
| Kód země | Země |
|---|---|
CN | Čína |
TR | Turecko |
BR | Brazílie |
HK | Hongkong |
PH | Filipíny |
SG | Singapur |
VN | Vietnam |
JP | Japonsko |
Jak upravit seznam blokovaných zemí?
Seznam zemí můžete upravit podle potřeby změnou kódů v této části pravidla:
^(CN|TR|BR|HK|PH|SG|VN|JP)$
Například pokud chcete blokovat pouze Čínu a Rusko, použijte:
<IfModule mod_geoip.c>
RewriteEngine On
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CN|RU)$
RewriteRule ^ - [F,L]
</IfModule>
.htaccess se projeví okamžitě po uložení.
Pravidla doporučujeme upravovat opatrně, aby nedošlo k nechtěnému zablokování legitimních návštěvníků.
Byla tato odpověď nápomocná?
Vaše odpověď nám pomůže návody dále zlepšovat.