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
  • Beratung & Betrieb
  • Dienstleistungen
    • Web Hosting
    • E-Mail Hosting
    • Ihre eigene Daten Cloud
  • Blog
  • Kontakt
    • Remote Support
  • Home
  • Blog
  • Linux
  • CentOS
  • Webseiten Benutzer per .htaccess Datei zulassen oder aussperren
20. April 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

TwoMail, Ihr Büro…
GitLab GPG Error
Eigene Cloud mit einem Raspberry Pi und Nextcloud (Teil 3)

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

  • Checkmk Agent Update Fehler: libz.so.1 failed to map segment from shared object

    Beim Ausführen des Checkmk Agent Updaters kann ...
  • PostgreSQL Wartung automatisieren

    PostgreSQL ist eine sehr stabile und leistungsf...
  • Mailrelay + SMTP OAuth Relay: SMTP ohne Passwort, bereit für Microsoft 365

    Dieser Beitrag ist Teil 2 der Mailrelay-Serie u...
  • Ein schlanker SMTP-Relay-Container für moderne Infrastrukturen

    Warum ein eigenes Mailrelay? In vielen Infrastr...
  • Der GNOME-Login ist weg – so bringst du ihn zurück

    Nach einem Update oder Neustart kann es passier...

Neueste Kommentare

  • Ein schlanker SMTP-Relay-Container für moderne Infrastrukturen - OneSystems GmbH bei Mailrelay + SMTP OAuth Relay: SMTP ohne Passwort, bereit für Microsoft 365
  • Mailrelay + SMTP OAuth Relay: SMTP ohne Passwort, bereit für Microsoft 365 - OneSystems GmbH bei Ein schlanker SMTP-Relay-Container für moderne Infrastrukturen
  • 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

Categories

  • b1gMail
  • CentOS
  • Checkmk
  • 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

  • Checkmk Agent Update Fehler: libz.so.1 failed to map segment from shared object

  • PostgreSQL Wartung automatisieren

  • Mailrelay + SMTP OAuth Relay: SMTP ohne Passwort, bereit für Microsoft 365

Kontakt

Email: Kontaktformular

OneSystems GmbH
Grindlenstrasse 9
9630 Wattwil
Schweiz

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

TOP