Sicherheit und SSL
Zugriff nach Ländern sperren oder erlauben
Sie können Besuche aus bestimmten Ländern auf zwei Arten einschränken: im Kundenbereich, ohne eine Datei anzufassen, oder mit Regeln in der .htaccess, wenn Sie etwas Gezielteres brauchen, etwa nur den Administrationszugang schützen oder je nach Land umleiten.
Das Land wird aus der IP des Besuchers ermittelt. Das ist in den meisten Fällen zuverlässig, aber wer ein VPN oder einen Proxy nutzt, erscheint mit dem Land dieses Dienstes.
Im Kundenbereich
- Melden Sie sich im Kundenbereich an und öffnen Sie Ihren Hosting-Dienst.
- Gehen Sie zu Firewall und Virenschutz > Geoblocking.
- Wählen Sie die Domain, die Sie schützen möchten.
- Wählen Sie den Modus:
- Blacklist: sperrt die ausgewählten Länder und erlaubt alle anderen.
- Whitelist: erlaubt nur die ausgewählten Länder und sperrt alle anderen.
- Wählen Sie die Länder (oder ganze Kontinente) aus und speichern Sie.
Die Sperre gilt für die gesamte Domain. Wenn Sie eine Whitelist verwenden, prüfen Sie, dass Sie keine Dienste aussperren, die sich aus anderen Ländern mit Ihrer Website verbinden, etwa Zahlungsanbieter, Webhooks oder Verfügbarkeitsmonitore. Um sie aufzuheben, gehen Sie in denselben Bereich zurück und entfernen Sie die Konfiguration.
Mit Regeln in der .htaccess
Der Server ermittelt bei jedem Besuch den Standort und legt das Ergebnis in den Variablen GEOIP_COUNTRY_CODE (Land) und GEOIP_CONTINENT_CODE (Kontinent) ab, die Sie in der .htaccess der Domain verwenden können. Fügen Sie die Regeln am Anfang der Datei ein. Wenn Sie auch die Sperre im Kundenbereich verwenden, bearbeiten Sie den Block zwischen # BEGIN HostsuarGeoBlock und # END HostsuarGeoBlock nicht: Das Panel schreibt ihn beim Speichern neu.
Länder geben Sie mit ihrem zweibuchstabigen Code nach ISO 3166-1 alpha-2 an: ES Spanien, RU Russland, CN China, US Vereinigte Staaten … Kontinente mit EU Europa, AS Asien, AF Afrika, NA Nordamerika, SA Südamerika und OC Ozeanien.
Mehrere Länder sperren
Dieses Beispiel sperrt Russland, China und Nordkorea und erlaubt alle anderen:
GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE RU DenyCountry SetEnvIf GEOIP_COUNTRY_CODE CN DenyCountry SetEnvIf GEOIP_COUNTRY_CODE KP DenyCountry Allow from all Deny from env=DenyCountry
Fügen Sie für jedes Land, das Sie sperren möchten, eine SetEnvIf-Zeile hinzu.
Nur einige Länder erlauben
Umgekehrt: Erlaubt Spanien und Portugal und sperrt alle anderen:
GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE ES AllowCountry SetEnvIf GEOIP_COUNTRY_CODE PT AllowCountry Deny from all Allow from env=AllowCountry
Um einen ganzen Kontinent zu erlauben, verwenden Sie GEOIP_CONTINENT_CODE; zum Beispiel nur Europa:
GeoIPEnable On SetEnvIf GEOIP_CONTINENT_CODE EU AllowCountry Deny from all Allow from env=AllowCountry
Den Zugang zu wp-admin auf Ihr Land beschränken
Oft möchten Sie nicht die Website sperren, sondern nur den Administrationszugang. Dieses Beispiel erlaubt den Zugriff auf wp-login.php, wp-admin und xmlrpc.php von WordPress nur aus Spanien; der Rest der Website bleibt für alle offen:
GeoIPEnable On RewriteEngine On RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(ES)$ RewriteCond %{REQUEST_URI} ^/(wp-login\.php|wp-admin/|xmlrpc\.php) [NC] RewriteCond %{REQUEST_URI} !^/wp-admin/admin-ajax\.php [NC] RewriteRule ^ - [F,L]
Die Ausnahme für admin-ajax.php ist nötig, weil viele Plugins und Themes es auch im öffentlichen Bereich verwenden. Um mehr als ein Land zu erlauben, trennen Sie sie mit |: !^(ES|PT)$. Denken Sie daran, dass Sie auf Reisen ebenfalls ausgesperrt sind, bis Sie die Regel entfernen oder erweitern.
Je nach Land umleiten
Sie können Besucher aus bestimmten Ländern auch auf eine andere Version der Website schicken. Dieses Beispiel leitet Besucher aus den Vereinigten Staaten oder Kanada um:
GeoIPEnable On RewriteEngine On RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(US|CA)$ RewriteRule ^(.*)$ https://www.otraweb.com/$1 [R=302,L]
Verwenden Sie 302 (temporär) und nicht 301: Browser speichern dauerhafte Umleitungen, und ein Besucher, der das Land wechselt, würde weiterhin umgeleitet. Beachten Sie, dass Google überwiegend aus den Vereinigten Staaten crawlt; eine Umleitung nach Land kann also verhindern, dass Google Ihre ursprüngliche Website sieht.
Das Land des Besuchers in PHP auslesen
Mit GeoIPEnable On am Anfang der .htaccess erhält Ihr PHP-Code die Standortdaten in $_SERVER:
<?php echo $_SERVER['GEOIP_ADDR']; // IP, von der aus zugegriffen wird echo $_SERVER['GEOIP_COUNTRY_CODE']; // Ländercode, zum Beispiel ES echo $_SERVER['GEOIP_CONTINENT_CODE']; // Kontinentcode, zum Beispiel EU
So können Sie zum Beispiel Sprache oder Währung vorauswählen, ohne einen externen Dienst aufzurufen. Wenn sich die IP nicht zuordnen lässt, existiert die Variable nicht: Verwenden Sie $_SERVER['GEOIP_COUNTRY_CODE'] ?? '', um Warnungen zu vermeiden.
Wenn ein legitimer Besucher nicht mehr hineinkommt
- Prüfen Sie mit einem beliebigen Geolokalisierungsdienst, welches Land seiner IP zugeordnet wird, und vergleichen Sie es mit Ihrer Liste.
- In einer Whitelist erlaubt das Hinzufügen eines Landes den Zugriff; in einer Blacklist sperrt es ihn. Prüfen Sie den Modus, bevor Sie Länder hinzufügen.
- Wenn Ihre Website hinter einem CDN wie Cloudflare liegt, sieht der Server möglicherweise die IP des CDN statt der des Besuchers. Verwenden Sie in diesem Fall die Ländersperre des CDN selbst.
- Wenn Sie sich selbst ausgesperrt haben, entfernen Sie die Regeln aus der
.htaccessim Dateimanager von cPanel oder heben Sie die Sperre im Kundenbereich auf.
Die Ländersperre verringert automatisierten bösartigen Traffic stark, ersetzt aber nicht, die Website aktuell zu halten und sichere Passwörter zu verwenden.
Das könnte Ihnen auch helfen
- DDoS-Schutz mit reCAPTCHA für Ihre Website aktivieren Wie der DDoS-Schutz mit reCAPTCHA von LiteSpeed funktioniert, wann Sie ihn aktivieren sollten (Angri...
- Eine IP für den Webzugriff in cPanel sperren Legen Sie eine gezielte Sperre an, prüfen Sie ihre Reichweite und entfernen Sie sie, wenn sie nicht...
- Eine IP zur Whitelist der Firewall Ihres Hostings hinzufügen Zeigt, wie Sie im Kundenbereich eine legitime, von der Firewall blockierte IP freigeben, um Entwickl...
- Was tun, wenn Imunify360 Ihren Zugang sperrt Erklärt, warum eine IP gesperrt werden kann, wie Sie prüfen, ob die Sperre von Imunify360 stammt, un...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.