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

OneSystems
Untere Grundgasse 3, 9500 Wil, Schweiz

Open in Google Maps
Haben Sie Fragen? Senden Sie uns doch eine Nachricht
  • LOGIN
  • No products in cart.
  • Home
  • Dienstleistungen
    • E-Mail
      • b1gMail / b1gMailServer
      • b1gMail Plugins
    • Webdesign
  • Blog
  • Hilfe & Support
  • Mein Konto
  • Kontakt
  • Home
  • Blog
  • Linux
  • CentOS
  • Webseiten Benutzer per .htaccess Datei zulassen oder aussperren
26. März 2023

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
    

     

Ähnliche Beiträge

  • Tweet
Tags .htaccess, GeoIP

About Michael Kleger

What you can read next

PHP 7 ist da!
Business E-Mail Dienst
Ransomware

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

  • E-Mails Archivieren

    Eines der besten Programme um geschäftliche E-M...
  • Windows Updates Fehler 0x8024500c

    Es gibt verschiedenste Gründe, warum der Fehler...
  • VMware ESXi updaten

    Auch ein ESXi Server, der von sich aus schon se...
  • VMware vCenter vCLS „The task was canceled by a user.“

    Nach einem vCenter oder ESXi Update kann es vor...
  • Eigene Cloud mit einem Raspberry Pi und Nextcloud (Teil 4)

    Damit die Cloud Best möglichst abgesichert ist ...

Neueste Kommentare

  • LVM, Linux Festplatte vergrößern | Gumpert IT Wiki bei LVM Festplatte vergrössern ohne neue Partition
  • Detlef bei Remote Desktop mit Linux Mint 19
  • Michael Kleger bei Remote Desktop mit Linux Mint 19
  • Detlef bei Remote Desktop mit Linux Mint 19
  • Michael Kleger bei WordPress mit Fail2Ban absichern

Kategorien

  • b1gMail
  • CentOS
  • Debian
  • Linux
  • Mac OSX
  • Microsoft Exchange
  • Microsoft Outlook
  • Mint
  • Monitoring
  • Neuigkeiten
  • Nextcloud
  • PowerShell
  • Python
  • Raspberry Pi
  • 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

  • E-Mails Archivieren

  • Windows Updates Fehler 0x8024500c

  • VMware ESXi updaten

Kontakt

Email: info@onesystems.ch

OneSystems
Untere Grundgasse 3
9500 Wil
Schweiz

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

OBEN
 

Lade Kommentare …