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
    • E-Mail
      • b1gMail Plugins
    • Hosting
    • Nextcloud
    • Monitoring
  • Blog
  • Hilfe & Support
    • Remote Support
  • Kontakt
  • Home
  • Blog
  • Linux
  • CentOS
  • Webseiten Benutzer per .htaccess Datei zulassen oder aussperren
15. Juni 2025

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.

OneSystems GmbH - Nextcloud

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

Git für Windows installieren und SSH Keys nutzen
VMware VM von Thick nach Thin migrieren
Eigene Cloud mit einem Raspberry Pi und Nextcloud (Teil 4)

Schreibe einen Kommentar Antworten abbrechen

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

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

Letzten Beiträge

  • 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 ...
  • Windows Server 2025 bereinigen

    Wenn man den Windows Server 2025 (sowie auch äl...
  • Anmelden über die Webcam unter Ubuntu einrichten

    Das einfache Anmelden über die Webcam wie man e...
  • Der eigene Mastodon Server

    Was ist Mastodon? Mastodon ist ein Mikrobloggin...

Neueste Kommentare

  • 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
  • Der Weg von Windows zu Linux (Teil 1) - OneSystems GmbH bei Yubikey Manager und Yubico Authenticator unter Ubuntu installieren
  • Michael Kleger bei Eigener CardDAV- und CalDAV Server mit Baikal

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

Der IT-Dienstleister OneSystems GmbH mit Sitz in Wattwil versteht sich als Full-Service-Dienstleister für die Umsetzung und Betreuung von IT-Infrastrukturen, Internetseiten und individueller Programmierung. Wir betreuen Kunden aus der ganzen Schweiz, Deutschland und Österreich.

Wir legen grossen Wert auf eine technisch einwandfreie Umsetzung nach aktuellen Standards bei nachhaltiger Qualität.

Letzten Blog Posts

  • Migration von Datenbanken in Docker: So gelingt das Upgrade sicher und sauber

  • Automatisierte Backups mit Docker, Cron, Nextcloud Talk & E-Mail

  • Windows Server 2025 bereinigen

Kontakt

Email: Kontaktformular

OneSystems GmbH
Grindlenstrasse 9
9630 Wattwil
Schweiz

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

TOP