Haben Sie Fragen? Senden Sie uns doch eine Nachricht

OneSystems GmbH

OneSystems GmbH

System Management aus der Schweiz

+41 44 586 40 18
Email: info@onesystems.ch

OneSystems GmbH
Grindlenstrasse 9, 9630 Wattwil, Schweiz

Open in Google Maps
  • Home
  • Dienstleistungen
    • Web Hosting
    • E-Mail Hosting
    • Ihre eigene Daten Cloud
  • Blog
  • Hilfe & Support
    • Remote Support
  • Kontakt
  • Home
  • Blog
  • Linux
  • CentOS
  • Webseiten Benutzer per .htaccess Datei zulassen oder aussperren
13. Januar 2026

Webseiten Benutzer per .htaccess Datei zulassen oder aussperren

Webseiten Benutzer per .htaccess Datei zulassen oder aussperren

by Michael Kleger / Mittwoch, 08 April 2015 / Published in CentOS, Tipps und Tricks, Webserver

Wen man seine eigene Webseite nur aus einem oder mehreren Ländern zugänglich oder eben nicht zugänglich machen möchte kann man das ganz einfach mittels HTACCESS und der GeoIP Datenbank die als Modul zum Apache Webserver hinzugefügt werden muss machen.
Einen 100% Schutz ist es nicht da das Ganze auf den IP Bereichen basiert die den jeweiligen Ländern zugeordnet wurden.

Bei unseren Webservern ist das Modul schon installiert und man kann direkt bei „Module anwenden“ weitermachen.

Installation und Konfiguration unter CentOS 5/6/7

    if (getenv(HTTP_X_FORWARDED_FOR)) {
        $pipaddress = getenv(HTTP_X_FORWARDED_FOR);
        $ipaddress = getenv(REMOTE_ADDR);
        echo "Meine Proxy IP Adresse: ".$pipaddress. " (via $ipaddress) " ;
    } else {
        $ipaddress = getenv(REMOTE_ADDR);
        echo "Meine IP Adresse: $ipaddress";
    }
    $country = getenv(GEOIP_COUNTRY_NAME);
    echo "


    if (getenv(HTTP_X_FORWARDED_FOR)) {
        $pipaddress = getenv(HTTP_X_FORWARDED_FOR);
        $ipaddress = getenv(REMOTE_ADDR);
        echo "Meine Proxy IP Adresse: ".$pipaddress. " (via $ipaddress) " ;
    } else {
        $ipaddress = getenv(REMOTE_ADDR);
        echo "Meine IP Adresse: $ipaddress";
    }
    $country = getenv(GEOIP_COUNTRY_NAME);
    echo "
Mein Land : $country"; ?>
  1. EPEL Repository hinzufügen
    Von Fedora wird das Projekts Extra Packages for Enterprise Linux kurz EPEL betrieben.
    Dieses Repository enthält nur Programme (aktuell über 5.600 RPM Pakete), die im RHEL und Centos Grundpaket nicht enthalten sind. In der Regel sind die Pakete auch aktueller im Vergleich zum RPMForge-Repository.

    CentOS 5: rpm –Uvh http://mirror.switch.ch/ftp/mirror/epel/5/i386/epel-release-5-4.noarch.rpm
    CentOS 6: rpm –Uvh http://mirror.switch.ch/ftp/mirror/epel/6/i386/epel-release-6-8.noarch.rpm
    CentOS 7: rpm –Uvh http://mirror.switch.ch/ftp/mirror/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

     

  2. GeoIP Installieren
    yum install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel
    

     

  3. Letze GeoIP Datenbank Downloaden
    cd /usr/share/GeoIP/
    mv GeoIP.dat GeoIP.dat_org
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
    gunzip GeoIP.dat.gz
    

     

  4. Modul Aktivieren
    vim /etc/httpd/conf.d/geoip.conf
    
         GeoIPEnable On
         GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
    
    
    CentOS 5/6: /etc/init.d/httpd restart
    CentOS 7: systemctl restart httpd
    

     

  5. Installation Testen
    vim /var/www/html/testgeoip.php
    
    
    

     

  6. GeoIP Datenbank händisch Updaten
    cd /usr/share/GeoIP/
    mv GeoIP.dat GeoIP.dat_org
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
    gunzip GeoIP.dat.gz
    

     

  7. GeoIP Datenbank automatisch Updaten
    1. Script 1
      #!/bin/sh
      cd /usr/share/GeoIP
      mv GeoIP.dat GeoIP.dat_org
      wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
      gzip -d -f GeoIP.dat.gz 
      

       

    2. Script 2
      #!/bin/sh
      
      GEOIP_MIRROR="http://geolite.maxmind.com/download/geoip/database"
      GEOIPDIR=/usr/share/GeoIP
      TMPDIR=
      
      DATABASES="GeoLiteCity GeoLiteCountry/GeoIP asnum/GeoIPASNum GeoIPv6"
      
      if [ -d "$" ]; then
              cd $GEOIPDIR
              if [ -n "$" ]; then
                      TMPDIR=$(mktemp -d geoipupdate.XXXXXXXXXX)
      
                      echo "Updating GeoIP databases..."
      
                      for db in $DATABASES; do
                              fname=$(basename $db)
      
                              wget --no-verbose -t 3 -T 60 "$/$.dat.gz" -O "$/$.dat.gz"
                              gunzip -fdc "$/$.dat.gz" > "$/$.dat"
                              mv "$/$.dat" "$/$.dat"
                              chmod 0644 "$/$.dat"
                      done
                      [ -d "$" ] && rm -rf $TMPDIR
              fi
      fi
      

       

 

Module anwenden

  1. Land auf eine andere Webseite weiterleiten
    GeoIPEnable On
    GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
     
    # Redirect one country
    RewriteEngine on
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
    RewriteRule ^(.*)$ http://www.onesystems.ch$1 [R,L]

     

  2. Länder zulassen
    GeoIPEnable On
    GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
     
    SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE IT AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
     
    Deny from all
    Allow from env=AllowCountry

     

  3. Länder blockieren
    GeoIPEnable On
    GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
     
    SetEnvIf GEOIP_COUNTRY_CODE AS BlockCountry
    SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry
    SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
     
    Deny from env=BlockCountry
    

     

  • Tweet
Tagged under: .htaccess, GeoIP

About Michael Kleger

What you can read next

Wie kann man SSH-Verbindungen ohne Firewall erlauben oder verbieten?
Nextcloud bricht Download ab
E-Mails Archivieren

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.

Letzten Beiträge

  • Der GNOME-Login ist weg – so bringst du ihn zurück

    Nach einem Update oder Neustart kann es passier...
  • Wie die Remmina Verbindungen in Tabs statt in neuen Fenstern öffnen

    Wer regelmässig mit Remmina arbeitet, kennt das...
  • Dateien mit Sonderzeichen sicher löschen

    Beim Arbeiten auf Linux-Servern kann es vorkomm...
  • Migration von Datenbanken in Docker: So gelingt das Upgrade sicher und sauber

    Datenbank-Upgrades gehören zu den Aufgaben, die...
  • Automatisierte Backups mit Docker, Cron, Nextcloud Talk & E-Mail

    In diesem Beitrag zeige ich, wie man mit einem ...

Neueste Kommentare

  • Michael Kleger bei Festplatte einer Virtuellen Maschine verkleinern
  • Harald Strauch bei Festplatte einer Virtuellen Maschine verkleinern
  • Michael Kleger bei Mac OS X 10.11El Capitan‎: ISO für Installation erstellen
  • Danyel Gloser bei Mac OS X 10.11El Capitan‎: ISO für Installation erstellen
  • Wie kann man unter Ubuntu den Bildschirm teilen? - OneSystems GmbH bei Flatpack unter Ubuntu installieren

Categories

  • b1gMail
  • CentOS
  • Debian
  • Docker
  • Identitätsanbieter
  • Linux
  • Mac OSX
  • Microsoft Exchange
  • Microsoft Outlook
  • Migration
  • Mint
  • Monitoring
  • Neuigkeiten
  • Nextcloud
  • PowerShell
  • Python
  • Raspberry Pi
  • Sicherheit
  • Tipps und Tricks
  • Ubuntu
  • VMware
  • Webseiten
  • Webserver
  • Windows
  • Windows zu Linux

Die OneSystems GmbH mit Sitz in Wattwil ist ein unabhängiger IT-Dienstleister für die Planung, Umsetzung und den Betrieb moderner IT-Infrastrukturen, Weblösungen und individueller Software. Wir begleiten Unternehmen ganzheitlich von der Konzeption bis zum laufenden Betrieb und übernehmen dabei sowohl technische Verantwortung als auch den langfristigen Support.

Unsere Kunden stammen aus der Schweiz, Deutschland und Österreich und vertrauen auf Lösungen, die stabil, sicher und nachvollziehbar aufgebaut sind. Statt kurzlebiger Trends setzen wir auf saubere Architektur, etablierte Standards und nachhaltige Qualität, damit Systeme nicht nur heute funktionieren, sondern auch morgen noch beherrschbar bleiben.

Letzten Blog Posts

  • Der GNOME-Login ist weg – so bringst du ihn zurück

  • Wie die Remmina Verbindungen in Tabs statt in neuen Fenstern öffnen

  • Dateien mit Sonderzeichen sicher löschen

Kontakt

Email: Kontaktformular

OneSystems GmbH
Grindlenstrasse 9
9630 Wattwil
Schweiz

Copyright © 2018-2026 OneSystems GmbH, Alle Rechte vorbehalten.
Impressum | Datenschutzerklärung | AGBs | Kontakt

TOP