SIGN IN YOUR ACCOUNT TO HAVE ACCESS TO DIFFERENT FEATURES

PASSWORT VERGESSEN!

LOGIN-DATEN VERGESSEN?

AAH, WARTET, ICH ERINNERE MICH WIEDER!

OneSystems

OneSystems

System Management aus der Schweiz

+41 (0)44 586 40 18
E-Mail info@onesystems.ch

OneSystems
Untere Grundgasse 3, 9500 Wil, Schweiz

Open in Google Maps
Haben Sie Fragen? +41 (0)44 586 40 18
  • LOGIN
  • No products in cart.
  • Home
  • Dienstleistungen
    • E-Mail
      • Mail Town
        • Angebot
      • E-Mail Gateway
      • Echo E-Mail
      • b1gMail / b1gMailServer
      • b1gMail Plugins
    • Versionsverwaltung
    • Webdesign
  • Blog
  • Hilfe & Support
  • Mein Konto
  • Kontakt
  • Home
  • Blog
  • Linux
  • CentOS
  • Webseiten Benutzer per .htaccess Datei zulassen oder aussperren
22. Januar 2021

Webseiten Benutzer per .htaccess Datei zulassen oder aussperren

Webseiten Benutzer per .htaccess Datei zulassen oder aussperren

von Michael Kleger / Mittwoch, 08 April 2015 / Veröffentlicht 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
    

     

Teilen mit:

  • Facebook
  • Twitter
  • LinkedIn
  • Reddit
  • WhatsApp
  • Skype

Ähnliche Beiträge

  • Tweet
Tags .htaccess, GeoIP

About Michael Kleger

What you can read next

TwoMail, Ihr Büro…
APC: Someone is currently logged into the APC Management Web Server.
ESXi root Zugriff gesperrt

Schreibe einen Kommentar Antworten abbrechen

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

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

Letzten Beiträge

  • Festplatte einer Virtuellen Maschine verkleinern

    Wie kann man unbenutzten Festplatten Platz eine...
  • Checkmk Benachrichtigung mit automatischer Ticket Erstellung im b1gMail Support System

    Das unserer Meinung nach beste Monitoring Syste...
  • Exchange Mailboxen in neue DBs Migrieren

    Bei einer Migration auf einen neuen Exchange Cl...
  • vCenter Server Appliance DNS Cache zurücksetzen

    Wen die IP Adresse eines ESXi Hosts ändert z.B....
  • Event 9646 : Mapi session with client type AirSync exceeded the maximum of 500 objects of type Message.

    Bei grösseren Mailboxen oder Team Mailboxen auf...

Neueste Kommentare

  • Michael Kleger bei Windows 10 GPO Standardprogramme festlegen
  • Susanne Bethe bei Windows 10 GPO Standardprogramme festlegen
  • sascha bei Eigener CardDAV- und CalDAV Server mit Baikal
  • Michael Kleger bei Eigener CardDAV- und CalDAV Server mit Baikal
  • sascha bei Eigener CardDAV- und CalDAV Server mit Baikal

Kategorien

  • b1gMail
  • CentOS
  • Debian
  • Linux
  • Mac OSX
  • Microsoft Exchange
  • Microsoft Outlook
  • Mint
  • Monitoring
  • Neuigkeiten
  • PowerShell
  • Sicherheit
  • Tipps und Tricks
  • VMware
  • Webseiten
  • Webserver
  • Windows

Der IT-Dienstleister OneSystems mit Sitz in Wil 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

  • Festplatte einer Virtuellen Maschine verkleinern

  • Checkmk Benachrichtigung mit automatischer Ticket Erstellung im b1gMail Support System

  • Exchange Mailboxen in neue DBs Migrieren

Kontakt

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

OneSystems
Untere Grundgasse 3
9500 Wil
Schweiz

Copyright © 2021 OneSystems, Alle Rechte vorbehalten.
Impressum | AGBs | Kontakt

OBEN