.htaccess

Linux

Was ist eine .htaccess-Datei eigentlich genau?

Bei der .htaccess handelt es sich um eine textbasierte Datei, durch deren Verwendung berechtigte Nutzer verzeichnisspezifisch die Konfiguration eines NCSA-kompatiblen Webservers beeinflussen können. Der bekannteste Webserver des „National Center for Supercomputing Applications“ (NCSA) ist der weit verbreitete Apache HTTP Server. Seine Arbeitsweise wird durch eine oder mehrere zentrale Datei(en) gesteuert, die man „httpd.conf“ nennt. Diese übergeordneten Konfigurationsdateien sind in der Regel innerhalb des Programmverzeichnisses des Webservers selbst gespeichert und werden vom Server-Administrator definiert. In dieser Datei legt er unter anderem fest, ob ein Benutzer die Berechtigung erhält, die Server-Konfiguration mithilfe von .htaccess-Tricks zu verändern. Ist er berechtigt, kann ein User .htaccess-Dateien für jedes gewünschte Verzeichnis anlegen und bearbeiten.

Webmaster können auf NCSA-kompatiblen Webservern wie dem Apache HTTP Server mithilfe der Konfigurationsdatei .htaccess (dt. „Hypertext-Zugriff“) verzeichnisbezogene Regeln aufstellen. So kann beispielsweise festgelegt werden, welche Benutzer auf bestimmte Dateien zugreifen dürfen. Auch das Einrichten automatischer Weiterleitungen ist ein typisches Beispiel für die Möglichkeiten der .htaccess-Hacks.

Bei jedem Seitenzugriff scannt der Webserver rekursiv sämtliche Verzeichnisse ohne die Informationen zwischenzuspeichern. Servereinstellungen, die mit einer .htaccess-Datei vorgenommen werden, sind daher ab dem Moment gültig, in dem die .htacces im jeweiligen Verzeichnis abgelegt wird – ganz ohne Serverneustart. Die Schreibweise sollte zu 100 Prozent korrekt sein, denn eine falschgeschriebene .htaccess verhindert unter Umständen den Seitenzugriff auf dem kompletten Server. Werden die .htaccess-Tricks sachgemäß angewandt, erhält man jedoch einige hilfreiche und nützliche Features zur Verwaltung des Webservers. Da sie schnell umgesetzt und einfach in die bestehende Systemstruktur eingebettet werden können, wird oft auch die Bezeichnung .htaccess-Hacks verwendet.

Eine .htaccess-Datei erstellen – so funktioniert’s

Da .htaccess-Dateien reine Textdateien sind, können sie mit jedem Texteditor erstellt und bearbeitet werden. Je nach verfügbarem Zugang zum Webserver unterscheidet sich das Vorgehen bei der Erstellung. Mit Telnet– oder SSH-Zugang können .htaccess-Dateien direkt auf dem Server erstellt und bearbeitet werden. Steht nur ein FTP-Zugang zur Verfügung, muss die Datei lokal erstellt und anschließend hochgeladen werden. Dass der Name mit einem Punkt beginnt, ist üblich bei Unix-Systemen, bei denen verzeichnisspezifische Konfigurationsdateien stets mit einem Punkt beginnen. Das kennzeichnet sie als „versteckt“, was bei der Verwendung eines grafischen FTP-Clients jedoch dazu führen kann, dass die hochgeladene .htaccess-Datei verschwunden zu sein scheint.

Der vorangestellte Punkt sorgt auch bei der lokalen .htaccess-Erstellung auf Windows-Systemen für ein Problem, das sich allerdings schnell lösen lässt. Da Windows den Punkt anders interpretiert als Linux, dürfen Dateinamen, die mit einem Punkt beginnen, nicht unmittelbar vergeben werden. Damit der Editor also nicht das typische .txt anhängt, sollte beim Speichern unter Dateityp „Alle Dateien“ ausgewählt werden. Ist die .htaccess-Datei mit dem gewünschten Befehl bestückt, muss sie nur noch in das Zielverzeichnis befördert werden. Sie ist dann sofort gültig – auch für sämtliche Unterverzeichnisse. 

Server konfigurieren mit .htaccess-Hacks

Vom Server-Administrator autorisierte Benutzer haben durch .htaccess-Dateien die Möglichkeit, schnell und unkompliziert Einfluss auf die Konfiguration des Webservers zu nehmen. So können sie beispielsweise ganze Verzeichnisse durch HTTP-Authentifizierung vor unberechtigten Zugriffen schützen. Außerdem lassen sich eigene Fehlerseiten oder Weiterleitungen einrichten. Es gibt eine Vielzahl unterschiedlicher .htaccess-Tipps und -Tricks. Die zehn nützlichsten werden in den folgenden Abschnitten kurz erläutert:  

1. Alternative Fehlerseiten

Webserver zeigen per Voreinstellung eine standardmäßige HTML-Datei bzw. hart kodierte Meldung an, wenn es beim Zugriff auf die Website zu einem Fehler kommt. Diese Fehlermeldungen sind oft nicht sehr hübsch und einfallsreich – also alles andere als besucherfreundlich. Mithilfe von .htaccess ist es möglich, eigene Ausweich-Seiten oder -Meldungen einzuspeisen, die bei einem Webshop z.B. auf einen vergleichbaren Artikel verweisen. Für das Einbinden eigener Fehlerseiten sind folgende Angaben in der .htaccess notwendig:

Liegt die Fehlerseite oberhalb des Root-Verzeichnisses der Website oder auf einer externen URL, kann auch die komplette URL in die .htaccess, die sich in diesem Fall im Root-Verzeichnis befinden muss, eingegeben werden: Liegt die Fehlerseite oberhalb des Root-Verzeichnisses der Website oder auf einer externen URL, kann auch die komplette URL in die .htaccess, die sich in diesem Fall im Root-Verzeichnis befinden muss, eingegeben werden:  

2. Weiterleitungen

Ein großes Einsatzfeld von .htaccess-Dateien bilden Weiterleitungen bzw. Redirects. Es lassen sich beispielsweise einzelne Dateien innerhalb einer Website umleiten oder auch Anfragen auf eine andere Domain weiterleiten. Das ist vor allem praktisch, wenn die Website umzieht. Im Root-Verzeichnis gespeichert, sorgt folgender Code dafür, dass Anfragen an die ursprüngliche Domain vom Server zur neuen Domain umgeleitet werden:

Einzelne Dateien lassen sich mit derselben Methode innerhalb einer Website umleiten, falls sich zum Beispiel der Seitenname geändert hat:

3. Passwortgeschützte Bereiche

Wer keine umfangreichen Login-Scripte mit PHP schreiben möchte, aber dennoch ein geschütztes Verzeichnis oder geschützte Dateien auf seinem Webserver benötigt, kann stattdessen .htaccess-Tricks zur Einrichtung geschützter Bereiche verwenden. Zunächst wird für diese Art des Passwortschutzes eine zweite Datei mit dem Namen .htpasswd benötigt, in welcher die jeweiligen Passwörter gespeichert werden. Diese dürfen in Unix-Systemen nur verschlüsselt eingetragen werden – zu diesem Zweck gibt es im Web verschiedene .htpasswd Generatoren. Geschützte Verzeichnisse können folgendermaßen angelegt werden:

Zusätzlich wird die .htpasswd mit den Usern inklusive ihrer verschlüsselten Passwörter erstellt: Zusätzlich wird die .htpasswd mit den Usern inklusive ihrer verschlüsselten Passwörter erstellt:

Während die .htpasswd-Datei anschließend idealerweise oberhalb des Rootverzeichnisses abgelegt wird, muss sich die .htaccess in dem Verzeichnis befinden, das geschützt werden soll. Während die .htpasswd-Datei anschließend idealerweise oberhalb des Rootverzeichnisses abgelegt wird, muss sich die .htaccess in dem Verzeichnis befinden, das geschützt werden soll.

4. PHP Memory Limit erhöhen

Die Nutzung von PHP-Anwendungen unterliegt einem bestimmten Memory Limit. Das Limit bestimmt den maximalen Arbeitsspeicherverbrauch, den alle verwendeten PHP-Scripts auf dem Server gemeinsam verursachen dürfen. Mit dem folgenden Befehl in der .htaccess lässt sich das Limit bei Bedarf erhöhen:

Der Wert 128M steht in diesem Fall für ein Limit von 128 Megabyte. Je nach Speicherbedarf und Servervoraussetzung können auch andere Limits gesetzt werden. Der Wert 128M steht in diesem Fall für ein Limit von 128 Megabyte. Je nach Speicherbedarf und Servervoraussetzung können auch andere Limits gesetzt werden. 

5. Die Zeitzone des Webservers ändern

Läuft der Webserver in der falschen Zeitzone, kann das mit folgendem Eintrag in der .htaccess angepasst werden:

6. IP-Adressen blockieren

Es ist möglich, bestimmten IP-Adressen oder -Bereichen den Zugriff auf Websites zu verwehren. Mit dem richtigen Eintrag in der .htaccess können sogar alle IP-Adressen ausgeschlossen und nur ganz bestimmten der Zugriff gewährt werden. So kann das Web-Angebot beispielsweise nur den Mitarbeitern im firmeneigenen Intranet zur Verfügung gestellt werden. Der folgende Befehl fasst einige der möglichen Zugriffsbeschränkungen zusammen:

Mit dem Eintrag „Order“ wird die Interpretationsreihenfolge der eingetragenen Angaben festgelegt – die Reihenfolge ist dabei egal. Die weiteren Einträge kommunizieren dem Webserver, dass alle Benutzer mit .aol.com-Kennung sowie alle mit der numerischen IP-Adresse des Bereichs 192.168 von der Benutzung der Website ausgeschlossen sind. Eine Ausnahme bildet dabei der User mit der IP 192.168.220.102. Mit dem Eintrag „Order“ wird die Interpretationsreihenfolge der eingetragenen Angaben festgelegt – die Reihenfolge ist dabei egal. Die weiteren Einträge kommunizieren dem Webserver, dass alle Benutzer mit .aol.com-Kennung sowie alle mit der numerischen IP-Adresse des Bereichs 192.168 von der Benutzung der Website ausgeschlossen sind. Eine Ausnahme bildet dabei der User mit der IP 192.168.220.102.  

7. Umleitung der Webpräsenz von HTTP auf HTTPS

Wer für seine Domain ein SSL-Zertifikat nutzt, hat die Möglichkeit, die Domain per .htaccess-Befehl auf den verschlüsselten HTTPS-Aufruf umzuleiten:

8. Datei-Zugriff über den Browser aktivieren

Mit folgendem Befehl kann der Verzeichnisinhalt im Browser angezeigt und anderen Benutzern zum Download angeboten werden:

9. Hotlinking von Bildern verhindern

Beim sogenannten Hotlinking verlinkt eine dritte Person Medien auf seiner Website, insbesondere Bilder, die auf einem anderen Host gespeichert sind. So entsteht für den eigentlichen Besitzer ein höheres Datenvolumen, auf das er keinen Einfluss hat. Dank .htaccess-Tricks ist es möglich, das Verlinken auf bestimmte Dateitypen der eigenen Website mit folgendem Befehl zu blockieren:

10. Zeichensatz für Dokumente festlegen

Umlaute sind häufig ein störender Faktor, wenn man es mit Websites und Quellcodes zu tun hat. Im Quelltext werden Umlaute daher durch Zeichen bzw. Buchstabencodes ersetzt, damit sie wunschgemäß auf der Seite angezeigt werden. Mit der .htaccess-Datei kann verzeichnisgenau festgelegt werden, welche Zeichenkodierung für den jeweiligen Dokumententyp verwendet werden soll. Folgender Befehl bestimmt für alle Dokumente die Codierung UTF-8:

Sollen nur bestimmte Dokumententypen auf ihre Codierung festgelegt werden, wird im Befehl die entsprechende Dateienendung angehangen:

.htaccess-Tricks: praktisch und einfach anzuwenden

Die oben genannten Tipps und Tricks, um .htaccess-Dateien zur Server-Konfiguration zu nutzen, geben nur einen kleinen Einblick in das Funktionsspektrum dieser praktischen Datei. Alle Befehle werden sofort vom Webserver befolgt, ohne dass dazu ein kompletter Neustart nötig ist.

Linux
SSH mit Public Key Authentifizierung absichern

1.Generieren Public / Private Key Dazu benötigen wir das Programm „puttygen“, welches wir direkt vom Hersteller downloaden. Das Programm muss nicht installiert werden und lässt sich einfach starten. Nach dem Start sieht das Programm so aus. Nun klicken wir auf „Generate“. Wir werden nun aufgefordert die Maus zu bewegen, damit …

Sicherheit
Linux
IP´s über Geoip blocken

Man kennt es, der Server wird angegriffen und der Angriff erfolgt recht leicht erkennbar über ein spezielles Land. Nun blockt man die ggf. angreifende IP, aber so schnell wie man diese geblockt wird, erhält man 10 neue angreifende IP´s aus dem gleichen Land. Dies deutet in der Regel darauf hin, …

Linux
Aktuelle Systemstatus-Informationen

  https://www.he-status.de/ Weitere Details erfahren Sie als Host Europe Kunde auch über das Weblog im KIS     https://status.df.eu Sie können die Statusmeldungen auch als RSS-Feed abonnieren