1. Home
  2. Anleitungen /Tutorials
  3. Wie kann ich die Zugriffe auf meine Webseite steuern?
  1. Home
  2. Wissensdatenbank
  3. ServerCon Onlinehandbuch
  4. Logfiles & Zugriffsstatistik
  5. Wie kann ich die Zugriffe auf meine Webseite steuern?

Wie kann ich die Zugriffe auf meine Webseite steuern?

Hierzu gehen Sie folgendermaßen vor:
Hostnamen und IP-Adressen finden Sie im access.log auf Ihrem Speicherplatz im Ordner /logs/.

1. Sperrung einer einzelnen IP-Adresse oder Hostname:
Die folgende Syntax funktioniert für den bei uns eingesetzten Apache 2.4.
Aktuell ist noch das Modul mod_compat, damit man auch die Apache 2.2 Syntax noch nutzen kann.

Hinweis

Wir empfehlen hier ausschließlich die hier beschriebene Syntax zu nutzen und bestehende .htaccess Dateien auf diese Syntax anzupassen!

Dokumentation: https://httpd.apache.org/docs/current/de/mod/mod_authz_core.html

Erzeugen Sie eine neue Datei mit dem Namen .htaccess (z.B. mittels Texteditor oder passen Sie eine vorhandene .htaccess Datei an). In diese Datei schreiben Sie folgende Befehle hinein:

Alle Zugriffe verbieten

<IfModule mod_authz_core.c>
# Apache 2.4
Require all denied
</IfModule>

Zugriff nur für bestimmte IPs erlauben

<IfModule mod_authz_core.c>
# Apache 2.4
Require ip 1.2.3.4
Require host .domain-bei-profihost.de
</IfModule>

Zugriff für bestimmte IPs, oder IP-Netze verbieten

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
Require not ip 1.2.3.4
Require not ip 1.2.
</RequireAll>
</IfModule>

Zugriff für bestimmte IPs, oder IP-Netze verbieten und zusätzlich bestimmte Länder oder Kontinente aussperren

<IfModule mod_geoip.c>
     GeoIPEnable On      
</IfModule>
 
     SetEnvIf GEOIP_CONTINENT_CODE AS BlockContinent #Asien blockieren
     SetEnvIf GEOIP_CONTINENT_CODE AF BlockContinent #Afrika blockieren
 
<IfModule mod_authz_core.c>
     <RequireAll>
        Require all granted
          Require not env BlockContinent
          Require not ip 1.2.3.4
          Require not ip 5.6.7.8   

Mehrere Zugriffsmöglichkeiten schaffen

<IfModule mod_authz_core.c>
<RequireAny>
Require ip 123.12.123.123

#Zugriff mit Passwort erlauben
AuthUserFile /home/USER/www.domain-bei-profihost.de/.htpasswd
AuthGroupFile /dev/null
AuthName "Passwortgeschuetzter Bereich!"
AuthType Basic

Require valid-user
</RequireAny>
</IfModule>

Shopware Staging mit Satisfy Any Direktive

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
<RequireAll>
Require not env staging
Require all granted
</RequireAll>
<RequireAll>
AuthUserFile /home/USER/www.domain-bei-profihost.de/.htpasswd
AuthGroupFile /dev/null
AuthName "Passwortgeschuetzter Bereich!"
AuthType Basic
Require valid-user
</RequireAll>
</RequireAny>
</IfModule>

Der Part .domain-bei-profihost.de muss durch den Hostnamen des Besuchers / Suchmaschinen Bots ausgetauscht werden. Beachten Sie, dass mit dem Ausdruch .domain-bei-profihost.de auch Besucher mit dem Hostnamen host.domain-bei-profihost.de oder www.domain-bei-profihost.de gesperrt werden.

Laden Sie die Datei auf Ihren Speicherplatz hoch in das Verzeichnis, das vor der eingetragenen IP geschützt werden soll. Beachten Sie hierbei, dass alle folgenden Unterverzeichnisse ebenfalls diese Regel automatisch beachten, sofern dort nicht eigene .htaccess Dateien vorliegen.

2. Sperrung von Suchmaschinen Bots

Hinweis

Dies ist eine zusätzliche Information und ist keine Neuerung die beim Apache2.4 Update zu beachten ist.

Erzeugen Sie eine neue Datei mit dem Namen .htaccess (z.B. mittels Texteditor).
In diese Datei schreiben Sie folgende Befehle hinein:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Botname [OR]

RewriteCond %{HTTP_USER_AGENT} Botname
RewriteRule ^.* -- [F]
# Forbiddenmitteilung (403 Fehler) wird generiert

Bei mehreren Zeilen tragen Sie bei allen, bis auf die letzte RewriteCond am Ende das [OR] Flag ein, damit die Zeilen nacheinander ausgewertet werden.

Das "^" nutzen Sie für den Beginn des User Agenten. Wenn Sie dieses Zeichen weglassen, lassen Sie den Begriff "Botname" im gesamten User Agent suchen und sperren.

3. Sperre mit Proxy Dienstleister wie Cloudflare im Einsatz

Wenn Sie z.B. Cloudflare im Einsatz haben, muss ein HTTP Header ausgewertet werden, der die IP des Besuchers nennt. Mit folgendem Code sperren Sie via .htaccess eine oder auch mehrere IPs:

RewriteEngine On
RewriteCond %{HTTP:CF-Connecting-IP} 1\.2\.3\.4 [OR]
RewriteCond %{HTTP:CF-Connecting-IP} 2\.3\.4\.5
RewriteRule ^(.*) -- [F]
# Forbiddenmitteilung (403 Fehler) wird generiert

Bei mehreren IP Sperren tragen Sie pro Zeile die IP ein und setzen bis auf die letzte Zeile das [OR] Flag, damit nacheinander alle Zeilen geprüft werden.

Aktualisiert am 26. März 2021

War dieser Artikel hilfreich?

Ähnliche Artikel