Blockieren des Zugriffs aus einem bestimmten Land: Unterschied zwischen den Versionen
Rb (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Rb (Diskussion | Beiträge) (Version für Apache >2.3 eingefügt) |
||
Zeile 26: | Zeile 26: | ||
== Mithilfe von mod_geoip in der .htaccess: == | == Mithilfe von mod_geoip in der .htaccess: == | ||
''' | |||
=== Syntax ab Apache 2.3: === | |||
'''Grundsätzlich:''' | |||
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(Country_Code)$ | |||
RewriteRule ^(.*)$ - [F,L] | |||
'''2. Beispiel: Russland & China & Südkorea''': | |||
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(RU|CN|KR)$ | |||
RewriteRule ^(.*)$ - [F,L] | |||
==== Erlauben von IPs eines Landes ==== | |||
'''Grundsätzlich:''' | |||
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(Country_Code)$ | |||
RewriteRule ^(.*)$ - [F,L] | |||
'''2. Beispiel: Russland & China & Südkorea''': | |||
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(RU|CN|KR)$ | |||
RewriteRule ^(.*)$ - [F,L] | |||
=== Syntax unter Apache 2.3: === | |||
Wenn Sie überprüfen möchten, welche Webserver-Version bei Ihnen vorhanden ist, schauen Sie im DCP unter Webspace -> Server-Infos. | |||
'''1. Beispiel: China''' | '''1. Beispiel: China''' | ||
Zeile 35: | Zeile 62: | ||
Deny from env=DenyCountry | Deny from env=DenyCountry | ||
''2. Beispiel: Russland & China & Südkorea'' | |||
GeoIPEnable On | GeoIPEnable On | ||
Zeile 43: | Zeile 70: | ||
Allow from all | Allow from all | ||
Deny from env=DenyCountry | Deny from env=DenyCountry | ||
==== Aktivierung mittels PHP: ==== | ==== Aktivierung mittels PHP: ==== | ||
Zeile 51: | Zeile 80: | ||
'''Eine Liste für die verschiedenen Ländercodes: https:// | '''Eine Liste für die verschiedenen Ländercodes: https://www.geonames.org/countries/''' | ||
''' |
Version vom 17. Juli 2023, 12:11 Uhr
Falls man gewisse Länder aufgrund von vielen Bot-Aktivitäten sperren möchte, kann man hierbei die Ländererkennung bei apache2 in der .htaccess verwenden. Hierzu braucht man nur ein paar Zeilen mit dem jeweiligen Land (siehe hier), was man sperren möchte, einfügen:
Mithilfe von mod_maxminddb in der .htaccess:
1. Beispiel: China
<IfModule mod_maxminddb.c> MaxMindDBEnable On MaxMindDBFile COUNTRY_DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code SetEnvIf MM_COUNTRY_CODE ^(CN) BlockCountry Deny from env=BlockCountry </IfModule>
2. Beispiel: Russland & China
<IfModule mod_maxminddb.c> MaxMindDBEnable On MaxMindDBFile COUNTRY_DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code SetEnvIf MM_COUNTRY_CODE ^(RU|CN) BlockCountry Deny from env=BlockCountry </IfModule>
Mithilfe von mod_geoip in der .htaccess:
Syntax ab Apache 2.3:
Grundsätzlich:
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(Country_Code)$ RewriteRule ^(.*)$ - [F,L]
2. Beispiel: Russland & China & Südkorea:
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(RU|CN|KR)$ RewriteRule ^(.*)$ - [F,L]
Erlauben von IPs eines Landes
Grundsätzlich:
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(Country_Code)$ RewriteRule ^(.*)$ - [F,L]
2. Beispiel: Russland & China & Südkorea:
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(RU|CN|KR)$ RewriteRule ^(.*)$ - [F,L]
Syntax unter Apache 2.3:
Wenn Sie überprüfen möchten, welche Webserver-Version bei Ihnen vorhanden ist, schauen Sie im DCP unter Webspace -> Server-Infos.
1. Beispiel: China
GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE CN DenyCountry Allow from all Deny from env=DenyCountry
2. Beispiel: Russland & China & Südkorea
GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE CN DenyCountry SetEnvIf GEOIP_COUNTRY_CODE RU DenyCountry SetEnvIf GEOIP_COUNTRY_CODE KR DenyCountry Allow from all Deny from env=DenyCountry
Aktivierung mittels PHP:
Hierbei einfach in die php.ini folgendes einfügen:
extension=geoip.so
Eine Liste für die verschiedenen Ländercodes: https://www.geonames.org/countries/