HTML, CSS, PHP, MySQL

html-php.de

HTML & CSS Stylesheets Referenz JavaScript PHP MySQL Sonstiges Gästebuch Inhalt Impressum

[ Was ist htaccess ] [ Passwort-Schutz ] [ Gruppen und User Passwort ] [ Fehlerseiten definieren ]

Was ist htaccess

.htaccess-Dateien sind Server-Konfigurationsdateien mit der Sie Dateien und Verzeichnisse durch Passwörter schützen können, automatische Weiterleitungen einstellen, oder eigene Fehlerseiten festlegen. Der Name der .htaccess-Datei beginnt mit einem Punkt, dass seinen Ursprung in Unix hat, in der viele verzeichnisspezifische Konfigurationsdateien mit einem Punkt beginnen. .htaccess-Dateien sind Text-Dateien, die Sie mit einen Text-Editor erstellen können.

Passwort-Schutz

Erstellen Sie eine .htaccess-Datei in dem Verzeichnis, dass Sie schützen möchten. Sie können festlegen, ob Sie das Verzeichnis mit oder ohne Unterverzeichnisse schützen möchten.
Die .htaccess-Datei könnte so aussehen:

  # .htaccess-Datei für Verzeichnis-Schutz
  AuthType Basic
  AuthName "Gesperrter Bereich"
  AuthUserFile /usr/verwaltung/web/.htpasswd
  Require valid-user
  

Kommentare beginnen mit einer Raute #, wie hier in der ersten Zeile dargestellt.
Mit AuthType bezeichnen Sie die Art der Authentifizierung. Die übliche Art ist Basic, wobei das Passwort unverschlüsselt vom Browser an den Server gesendet wird. Alternativ gibt es Digest, das allerdings nicht alle Browser unterstützen. Hierbei wird das Passwort verschlüsselt gesendet.
AuthName ist die Überschrift, die der Browser im Eingabefenster angezeigt wird.
Mit AuthUserFile legen Sie fest, wo sich die Datei mit dem Passwort befindet. Hier sollten Sie den absoluten Pfadnamen angeben, den Sie bei Ihren Webhosting-Provider erfragen müssen.
Zu guter letzt geben Sie noch require an, dass das Schlüsselwort valid-user bekommt. Wenn Sie mehrere User bzw. Gruppen ein Passwort zugeteilt haben, gibt es noch die Schlüsselwörter user oder group, wozu ich später komme.

In der Passwort-Datei .htpasswd, die auch anders heißen kann, aber immer mit .ht beginnen sollte, geben Sie den Benutzernamen und das durch MD5 oder Crypt verschlüsselte Passwort, getrennt durch ein Doppelpunkt getrennt wird, an. Dies könnte dann so aussehen:

frank:$1$BKsuuyZD$9fQQRWa.HOC6daWvFBTcy1

Mit folgenden Formular können Sie ein Passwort (max. 8 Zeichen) nach der Crypt-Methode generieren:

Kennwort:  

Hinweis: Mit crypt können max. 8 Zeichen verschlüsselt werden. Enthält das zu generierende Kennwort mehr Zeichen, so werden nur die ersten 8 Zeichen generiert.

Passwort-Schutz für Gruppen und User

Möchten Sie mehreren Usern bzw. Gruppen den Zutritt auf Ihr Verzeichnis gestatten, sieht die .htaccess-Datei ein wenig anders aus:

  # .htaccess-Datei für Verzeichnis-Schutz
  AuthType Basic
  AuthName "Gesperrter Bereich"
  AuthUserFile /usr/verwaltung/web/.htpasswd
  AuthGroupFile /usr/verwaltung/web/.htgroup
  Require user Hugo Egon Tom
  Require group Techniker
  

Hinter Require und dem Schlüsselwort user schreiben Sie nun die Namen der User, sowie hinter group den Namen der Gruppe. Die .htpasswd hat nun mehrere Einträge, und zwar pro Zeile ein User.

  # .htpasswd - User
  Hugo:$1$qW0.ra5.$FUo7FfMtMrU/U7PO3NE420
  Egon:$1$YI2.BW/.$CwD5vJcA822Ya8wDM3oue1
  Tom:$1$0d/.Hd5.$ORtpkEjvdNiu0KBQwLYZY0 
  Michel:$1$Ey..701.$dV7Mfb/v06dsx3fDGIQ.f.
  Sam:$1$CW/.jW4.$AAb0Rr2qnkkmoDIyRIeci. 
  Rudolf:$1$wG/.3l2.$zK2VTLyQSTjbzE8JcR6Xr. 
  

Zusätzlich erstellen Sie nun noch eine weitere Datei, mit den Namen .htgroup, in der Sie die User-Namen der Gruppe (hier Techniker) auflisten.

  # .htgroup - GruppenDatei 
  Techniker: Michel Sam Rudolf

Fehlerseiten

In der .htaccess-Datei können Sie individuelle Fehlerseiten festlegen, die ausgegeben wird, wenn die aufgerufene Seite nicht existiert. Hierzu notieren Sie ErrorDocument gefolgt von der Errornummer. Nun folgt die Fehlermeldung, die Sie in drei variationen eingeben können:

1) Fehlertext - Hierbei notieren Sie den Fehlertext, der ausgegeben werden soll. Beachten Sie dabei, das der Text in einer Zeile geschrieben wird, oder bei Zeilenende ein Backslash \ gestellt wird.

  # Fehlermeldung mit Text
  ErrorDocument 404 "Die angeforderte Seite kann nicht gefunden werden. -\
                     Versuchen Sie es bitte erneut."

2) HTML-Ausgabe - Sie können auch HTML einsetzen, das dann in etwa so aussehen kann

  # Fehlermeldung mit HTML
  ErrorDocument 404 "<html><head><title>Fehler</title>\
                     <style type='text/css'>\
                     body {background-color:#FFFFFF;}\
                     h1,p,a {font-family:Helvetica,Arial,Sans-serif;}\
                     h1 {font-size:24px; margin-bottom:0em;}\
                     p {font-size:16px;}\
                     a {font-size:16px;}\
                     a:link,a:visited {color:#0000FF;}\
                     a:hover {color:#000080;}\
                     </style>\
                     </head><body>\
                     <h1>Fehler 404</h1>\
                     <p>Die angeforderte URL kann nicht gefunden werden.</p>\
                     <p>Durch folgenden Link kommen Sie zur\
                     <a href='/'>Startseite</a>.</p>\
                     </body></html>"

3) HTML-Datei - Die wohl effektivste Möglichkeit ist, eine HTML-Datei (z.B. error404.html) zu erstellen, und diese in der .htaccess-Datei zu definieren.

  # HTML-Fehlerdokument
  ErrorDocument 404 /error404.html

Setzen Sie dabei die .htaccess und HTML-Datei in das Wurzelvereichnes. Sie können aber auch Fehlerseiten für bestimmte Verzeichnisse erstellen. Dabei legen Sie die .htaccess-Datei und HTML-Datei in das bestimmte Verzeichnis, wobei die .htaccess wie folgt aus

  # HTML-Fehlerdokument
  ErrorDocument 404 error404.html

Der Unterschied liegt also nur darin, dass hier der Slash vor der HTML-Datei fehlt ;)

back top