Blockieren des Zugriffs aus einem bestimmten Land
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:
Blockieren von IPs eines Landes
Grundsätzlich:
<IfModule mod_maxminddb.c> MaxMindDBEnable On MaxMindDBFile DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code SetEnvIf MM_COUNTRY_CODE ^(Country_Code) BlockCountry Deny from env=BlockCountry </IfModule>
Beispiel: Russland & China & Vietnam:
<IfModule mod_maxminddb.c> MaxMindDBEnable On MaxMindDBFile DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code SetEnvIf MM_COUNTRY_CODE ^(RU|CN|VN) BlockCountry Deny from env=BlockCountry </IfModule>
Erlauben von IPs eines Landes
Grundsätzlich:
<IfModule mod_maxminddb.c> MaxMindDBEnable On MaxMindDBFile DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code SetEnvIf MM_COUNTRY_CODE ^(Country_Code) AllowCountry Order Allow,Deny Allow from env=AllowCountry </IfModule>
Beispiel: Deutschland:
<IfModule mod_maxminddb.c> MaxMindDBEnable On MaxMindDBFile DB /usr/local/share/maxminddb/GeoLite2-Country.mmdb MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code SetEnvIf MM_COUNTRY_CODE ^(DE) AllowCountry Order Allow,Deny Allow from env=AllowCountry </IfModule>
Wichtig: Dadurch werden nur IP-Adressen aus Deutschland erlaubt.
Eine Liste für die verschiedenen Ländercodes (ISO-3166 alpha2): https://www.geonames.org/countries/