Suchen

 


 

BAR Fern-Assistenz

 
 
 
Umgebung
Alle :: Web : Umgebung :

Was ist htaccess?

 

Mit einer .htaccess Datei in einem Verzeichnis können Sie das Verhalten des Webservers für dieses und alle darunterliegenden Verzeichnisse beeinflussen. Sie können z.B. den Zugriff auf die Webseiten in diesen Verzeichnissen nur für bestimme IP-Absender oder nur gegen Namen und Passwort erlauben.
In einer .htaccess Datei können viele verschiedene Anweisungen stehen. Aus Sicherheitsgründen sind aber nicht alle für den Apache Server möglichen Anweisungen erlaubt.

Auf was ist zu achten?

  • htpasswd wird nur auf unseren Linux-Web-Servern "Profi" und "Mini" unterstützt. Bei Windows-Server und bei Homepages z.B. www.rhone.ch/dein-name wird dies nicht unterstützt.
  • Es ist wichtig, daran zu erinnern, dass Unix case-empfindlich ist und dass "Index.htm" nicht dasselbe ist wie "index.htm".
  • Zeilen im .htaccess die mit # anfangen sind Bemerkungen.
  • Schreiben Sie alle Datei- und Verzeichnisnahmen in Kleinschrift - das minimiert Tippfehler.
  • Testen Sie die Einstellungen am Schluss.
  • Zugriff mit Passwort:
    Sie können diese Variante der .htaccess Datei sehr einfach über ein Webinterface erstellen. Dabei wird etv. vorhandene .htaccess Datei überschrieben und die Namen mit Passwörtern in einer .htpasswd Datei im gleichen Verzeichnis erstellt.
    Mit dem Webinterface können Sie aber nur das Unterverzeichnis /secure (und alle darin enthaltenen Verzeichnisse auch separat) schützen. Wenn Sie keinen Shell-Zugang haben, können Sie mit dem Webinterface die nötigen Dateien .htaccess und .htpasswd sehr einfach erstellen und mit einem FTP-Client in ein beliebiges anderes Verzeichnis kopieren.
  • Alle in einer .htaccess-Datei festgelegten Einstellungen gelten für das aktuelle Verzeichnis und für alle Unterverzeichnisse (sofern dort nicht eine andere .htaccess-Datei vorhanden ist.)

Fehlermeldung 403 Erscheint beim Aufruf eines Verzeichnisses die Fehlermeldung 403?
Dann gibt es keine Index-Datei und der Verzeichnisinhalt darf nicht aufgelistet werden.
Lösung:

  • Erstellen Sie eine Datei mit Namen index.html oder index.htm oder index.php mit dem gewünschten Inhalt. Diese Dateien werden in jedem Verzeichnis direkt angezeigt.
  • Erstellen Sie eine Datei mit Namen .htaccess und einer Text-Zeile "Options +Indexes". Damit wird in diesem und allen Unterverzeichnissen der Inhalt aufgelistet.

Sicherheit
Sicherheitslücken sind in einem System nie vollständig auszuschliessen. Mögliche Sicherhteitsprobleme sind der unerlaubte Zugriff auf Daten die nur mit Namen und Passwort oder nur für gewisse Absender erreichbar sein sollten. Aber auch da umgekehrte, dass Daten überhaupt nicht mehr zugänglich sind. Bitte beachten Sie folgende Punkte:

  • Testen Sie alle gemachten Einstellungen am Schluss!
  • Im Notfall können Sie eine .htaccess Datei einfach löschen. Es gelten dann die Anweisungen der nächst höher gelegenen .htaccess Datei oder wenn keine vorhanden ist des Webservers.

Debuggen / Loggen
Fehlermeldungen erscheinen häufig direkt im Browser.
Im Verzeichnis "/logs" stehen die Zugriffsdaten für den letzten Tag in der Datei "httpd.access_old" zur Verfügung. Diese Daten werden automatisch und täglich in eine aussagekräftige Webstatistik verarbeitet.

Anweisungen
Folgende Options sind bei allen Webservern automatisch aktiv:

  • -Indexes
  • +SymLinksIfOwnerMatch
  • -IncludesNoExec
Es sind nicht alle Anweisungen in einer .htaccess Datei erlaubt.
Auf dem RhoneWeb sind, neben den Basis-Direktiven folgende Direktiven freigeschalten:
  • AuthConfig
  • Indexes
  • Limit
  • FileInfo
  • Options: Indexes, SymLinksIfOwnerMatch, Multiviews

Anleitungen
Eine vollständige Liste der damit möglichen Anweisungen finden Sie bei www.apache.org.

Beispiele
Hier einige typische Beispiele für .htaccess Dateien:

Verzeichnisinhalt in aktuellen und darunter liegen Verzeichnissen anzeigen:

#Verzeichnisinhalt anzeigen
Options +Indexes

Beispiel für passwort geschützte Datei (oder Verzeichnis):

# Konfiguration Passwortschutz
AuthName "Nur mit Passwort"
AuthType Basic
AuthUserFile /path/to/the/htpasswordfile/.htpasswd
require valid-user
Dazu gehört natürlich die Datei .htpasswd mit den Namen und den Passwörtern.

anton:u9idEyhN/.jSI
emil:yU8eLSs.C3x/w
berta:xi9695EeMO4Pg
clara:U71hPIKtBh896
Am einfachsten erstellen Sie eine Datei über das Webinterface und kopieren sie dann an die gewünschte Stelle. Sie können eine .htpasswd Datei für verschiedene .htaccess Dateien benutzen.
Falls Sie die Option "Shell" haben, können Sie die .htpasswd Datei auch mit dem Programm htpasswd erstellen und ändern.

Beispiel um https zu erzwingen (nur mit Option "Secure Server"):

# HTTPS-Verschluesselung erzwingen
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
# fuer alle Dateien
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI}

Beispiel einer Umleitung (Weiterleitung):

# Umleitung 
Redirect permanent /alteseiten/index.htm http://www.dein-name.ch/

Beispiel für das Anzeigen eigener Webseiten bei Webserver-Fehlern:

# Zeiger auf meine angepassten Fehlermeldungen. 
ErrorDocument 401 /fehler401.html
ErrorDocument 403 /fehler403.html
ErrorDocument 404 /fehler404.phtml
Natürlich müssen dann auch die 3 entsprechenden Webseiten vorhanden sein.

Beispiel um Zugriffe von bestimmten IP-Absendern zu erlauben oder zu verhindern:

#Zugriff von allen IP-Absendern 195.65.53.X erlauben
order deny,allow
allow from 195.65.53.
deny from all

Beispiel um Zugriffe von bestimmten Namen zu erlauben oder zu verhindern:

#Zugriff für alle rhone.ch Absender erlauben
order deny,allow
allow from rhone.ch
deny from all

Beispiel Dateien komprimiert zum Client Browser zu liefern.

SetOutputFilter DEFLATE


Eigenschaften ID: 000076   Ansichten: 2224   Aktualisiert: vor 1 Jahr
Abgelegt unter: