Mini-HOWTO: Zugriffschutz bei 1&1 Puretec-Webhosting
Vorbemerkungen
Mit Hilfe von .htaccess-Dateien kann man mehr machen, als hier in dem kleinen
HOWTO zu finden ist. Die hier dargestellten Lösungsmöglichkeiten sind natürlich
nicht nur bei Purtec wirksam, sondern bei jedem Webserver, der mit Apache
betrieben wird.
In der Zwischenzeit bietet Puretec - oder wie es jetzt heißt 1&1 New
Webhosting einen eigenen Menüpunkt zum Zugriffschutz an, mit dem diese
Tätigkeiten online erledigt werden können. Für die jenigen, die ihre
Webpräsenz jedoch komplett auf einem anderen Entwicklungsserver haben
und sie mit dem Server synchronisieren, soll dieses HOWTO eine
kleine Anleitung sein.
notwendige Dateien
Zum Zugriffschutz brauche ich
- eine Datei, in der die Paßwörter stehen.
- in dem zu schützenden Verzeichnis ein Datei, die .htaccess heißen muß
Inhalt der Dateien
Paßwortdatei
Die Paßwortdatei muß die folgende Struktur haben:
user1:asfdfjUImm-a
user2:asJUnnjjsdas/J
Sie enthält die verschlüsselten Paßwörter.
Haben Sie ein System mit einem Webserver (z.B. Apache) schauen Sie nach einem
Programm htpasswd. Es gibt auch Server, die entsprechende Programme anbieten, z.B.
hier.
.htaccess
Beispiel-.htaccess
Ein gutes Beispiel, wie die .htaccess-Datei aussehen muß finden Sie im Unterverzeichnis /logs
Leider hat man diese nur zur Verfügung, wenn man auch eine Statistik mit im Paket hat und
das ist erst ab dem Star-Paket der Fall
Anzeige des Pfades bei IE5.0
Einen Trick gibt es beim Internet Explorer 5.0, wie mir Jan Jansen mitteilte:
Man deaktiviert im Menü Extras / Internetoptionen / Erweitert den
Menü-Punkt "Kurze HTTP-Fehlermeldungen anzeigen". Dann meldet er
zwar auch den Authentifzierungsfehler, aber das ist dann die Fehlermeldung
von Server und nicht eine Standard-IE5 Meldung. So wird dann der richtige
Pfad mit bei der Fehlermeldung angezeigt.
Anzeige bei Netscape, Lynx
Hier braucht man nichts extra einstellen.
kaputte .htaccess
Auf keinen Fall darf an der .htaccess etwas richtig sein,
wie es die Dokumentation vorschreibt.
Ein gutes Beispiel fuer eine kaputte .htaccess ist:
hier ist alles falsch
Die Date legen wir in unserem Beispiel im Verzeichnis /pfad_zum_test
ab.
Die Fehlermeldung die man erhät sieht derzeit wie folgt aus:
ERROR 500 - Internal Server Error
Name: /pfad_zum_test
Host: meine_domain.de
Das angegebene Skript konnte nicht fehlerfrei ausgeführt werden.
Das fehlerhafte Ausführen von CGI-Skripten hat häufig eines der folgenden Ursachen:
Das entsprechende CGI-Skript wurde nicht im ASCII-Mode ihres FTP-Programmes an den WWW-Server übertragen.
In der 1. Zeile wurde nicht der richtige absolute Pfad eingetragen, wie z.B. #!/usr/bin/perl für PERL-Skripte.
Ursache kann auch ein falsch gesetzter Pfad zu einem externen Programm sein, wie date (/bin/date) oder sendmail
(/usr/sbin/sendmail) oder ein falscher Pfad zu ihren persönlichen Daten /homepages/9999/d111111111111/htdocs .
Schreibrechte dürfen nur für den User gesetzt werden, jedoch nicht für group oder others.
Ermittlung des Zugriffspfades mit einem Skript
Unter http://www.thekid.de/Tools/getdocroot.php3
steht auch ein Skript zur Verfügung, mit dem man den eigenen Zugriffspfad abrufen kann.
Anpassung .htaccess
Kopieren Sie sich diese Datei und verändern Sie sie wie folgt:
Beispiel für kopierte .htaccess
AuthType Basic
AuthName "Access fuer /logs"
AuthUserFile /kunden/homepages/9999/d111111111111/htdocs/htpasswd
require user master
require user p1111111
Wichtig ist die Angabe für das AuthUserFile: /kunden/homepages/9999/d111111111111/htdocs
Nehmen wir nun an, ihre eigene Paßwort-Datei liegt nun in geheim/passwort
Zugreifen auf Ihre Dateien soll der Benutzer user1
Dann sieht ihre .htaccess so aus:
AuthType Basic
AuthName "Zugriffsschutz"
AuthUserFile /kunden/homepages/9999/d111111111111/htdocs/geheim/passwort
require user user1
Wie kann ich mehreren Nutzern den Zugriff ermöglichen ?
Dazu gibt es zwei Möglichkeiten,
Form der Gruppendatei
Die Gruppendatei hat die Form:
gruppe1: nutzer1 nutzer2 nutzer3
weitere Informationen
Bei Fragen, Vorschlägen zum HOWTO einfach eine Mail an
Peter.Schmidmaier@schmidma.de schicken.
|