Hallo,
vorweg: Ich bin relative Anfängerin in Sachen Programmierung und hoffe, dass ich hier nichts frage, das an anderer Stelle schon steht und von mir nur nicht gefunden wurde, weil ich schlicht nicht nach den richtigen Keywords gesucht habe / suchen konnte. Falls doch: Sorry!
AUSGANGSLAGE:
*************
Ich habe in meiner Website für bestimmte Verzeichnisse Passwortschutz mit htaccess und htpasswd eingerichtet. Das funktioniert soweit. Nun habe ich verschiedene Verzeichnisse, die nur von bestimmten Nutzern eingesehen werden sollen. Da meines Wissens mit der normalen htaccess-Variante mit einer der gültigen User-Passwort-Kombinationen alle Unterverzeichnisse einzusehen wären, habe ich einen Umweg gesucht. Im Netz habe ich dazu keine Hilfe gefunden und habe mir deshalb selbst etwas ausgedacht:
Ich habe in den jeweiligen Unterverzeichnissen unterschiedliche htaccess-Dateien liegen, die auf unterschiedliche htpasswd-Dateien verweisen. Beispiel: Im Verzeichnis "01" verweist die ".htaccess" auf die Passwortdatei ".htpasswd01", im Verzeichnis "02" verweist die ".htaccess" auf die Passwortdatei ".htpasswd02", und so weiter. Die Benutzernamen und Passwörter in den unterschiedlichen htpassword-Dateien sind natürlich verschiedene. Dem User 01 gebe ich also nur den Link zum Unterverzeichnis 01 und die entsprechende User-Passwort-Kombination. Mit jener kommt er somit nicht an die Dateien im Unterverzeichnis 02, obwohl dies ein Unterverzeichnis auf der selben Ebene ist.
Ich habe das mit Firefox und IE getestet und es funktioniert.
Zusätzliche Info: Ich habe, da es mir nicht sicher vorkam, die Passwort-Dateien in das Root- also das Hauptverzeichnis zu legen, diese in den geschützten (oder?) "cgi-data"-Ordner verschoben und den Pfad dann in den htaccess-Dateien entsprechend angepasst. Das funktioniert auch.
FRAGEN:
*******
Ist das eine korrekte und sichere Lösung?
Es funktioniert zwar auf den ersten Blick, aber ich kann die Sicherheit und auch eventuelles Fehlerpotential mit meinem Laienwissen nicht abschätzen.
Gibt es eine einfachere / sinnvollere Lösung (die ein Anfänger hinbekommen würde)?
Für eine kurze Einschätzung wäre Euch sehr dankbar,
Catinka :-)