Frage zu Passwortschutz eines Webverzeichnisses mit .htaccess und .htpasswd
Hallo Leute,
ich benötige mal Eure Hilfe.
Ich versuche gerade mit .htaccess und .htpasswd ein Verzeichnis mit einem Passwort zu schützen. Wenn ich nun versuche eine Datei aus dem Verzeichnis herunter zu laden, erscheint ein Fenster, in dem ich den Benutzernamen und das Passwort, die in den beiden oben benannten Dateien stehen, was ja richtig ist. Wenn ich nun aber Benutzername und Passwort angebe, kann ich trotzdem nicht die Dateien herunterladen, da das Fenster erneut aufgeht. Woran kann das liegen.
Den Text, der in den beiden Dateien steht, habe ich unter
http://www.fueralles.de/htaccess-Generator.html generieren lassen, beide Dateien in das Verzeichnis kopiert und dort dann umbenannt.
Jemand eine Idee, was ich verkehrt gemacht haben könnte? Das Passwort, das man eingeben muss, ist doch das, was man vor dem Generieren in das entsprechende Feld auf der HP des Generators eingetragen hat oder ist es das, was daraus beim Generieren gemacht wurde? Eingetragen habe ich "1234“ und nach dem Generieren lautet es "U6e6y.26Tn0jk“
Danke Euch schon mal.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort schreiben
Antwort 1 von MixMax vom 27.09.2019, 14:24 Options
das ist normal weil das passwort verschlüsselt gespeichert wird.
Hast du es mit dem eingegebenen namen der ersten zeile und dem eingegebenen Passwort der ersten Zeile versucht?
Antwort 2 von coros vom 27.09.2019, 14:35 Options
Hallo MixMax
danke Dir für Deine Antwort. Ja, ich habe zu dem Namen das passende Passwort eingetragen. Es stehen in beiden Dateien ja jeweils nur 1 Name und 1 Passwort zum Test.
Benötigst Du eventuell den Inhalt der beiden Dateien um den Fehler zu finden?
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 3 von MixMax vom 27.09.2019, 14:38 Options
Nein, kanns nicht testen, auf windowsservern gibts kein htaccess (zumindest nicht so ohne weiteres)
gibts bei deinem Webseitenhoster vielleicht ein eigenes Tool? viele haben eine Administrationsseite wo man selber ordner schützen kann.
Antwort 4 von coros vom 27.09.2019, 14:54 Options
Hallo MixMax,
ja, gibt es. Wenn ich dort aber einen Benutzer und ein Passwort eintrage und dann aus dem Verzeichnis eine Datei downloade, erscheint keine Passwortabfrage. Warum weiß ich nicht. Daher meine Idee mit .htaccess und .htpasswd
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von MixMax vom 27.09.2019, 14:56 Options
hm würd ich mal den hoster fragen wenn die funktion schon da ist warum die net klappt.
Antwort 6 von coros vom 27.09.2019, 16:37 Options
Hallo MixMax,
sorry für die verspätete Reaktion, aber ich hatte zwischendurch einen Termin.
Ja, ich werde meinen Provider fragen, aber es muss doch auch mit der Variante .htaccess und .htpasswd funktionieren? Nur eben bei mir im Moment nicht.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 7 von Supermax vom 27.09.2019, 16:44 Options
In der .htaccess muß der komplette Pfad zur .htpasswd angegeben werden, auch wenn beide Dateien im selben Verzeichnis liegen.
In der .htaccess muß dann z.B. stehen
AuthUserFile /kompletter/pfad/zu/meinem/webspace/verzeichnis/.htpasswd
Antwort 8 von conny77 vom 27.09.2019, 17:04 Options
... und den kompletten Pfad erfährst von deinem Provider.
Antwort 9 von Supermax vom 27.09.2019, 17:14 Options
Oder wenn du PHP aktiviert hast kannst du auch ein einfaches Script in dasselbe (oder das übergeordnete) Verzeichnis legen:
test.php:
<?php
echo $_SERVER['SCRIPT_FILENAME'];
?>
Wenn du diesses Script dann im Browser aufrufst, hast du als Ausgabe z.B.
/home/web4711/htdocs/test.php
. In diesem Fall ist
/home/web4711/htdocs
der vollständige Pfad zu deiner Webpräsenz.
Antwort 10 von coros vom 27.09.2019, 18:43 Options
Hallo,
Danke Euch für Eure Unterstützung. Der Pfad steht in der .htaccess. Dort steht
AuthUserFile CSV/.htpasswd
Im Verzeichnis CSV liegen beide Dateien.
Woran kann es dann noch liegen?
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 11 von Supermax vom 27.09.2019, 19:37 Options
CSV ist eben keine vollständige, absolute Pfadangabe; ein kompletter Pfad beginnt unter Unix und unix-artigen Betriebssystemen wie BSD oder Linux immer mit dem Zeichen / . Ein vollständiger Pfad in deinem Beispiel wäre z.B. sowas wie
/home/web19/htdocs/CSV/.htpasswd
.
Der Hintergrund dazu ist folgender: der Prozeß (Programm), der die Datei .htaccess ausliest, befindet sich in seinem Arbeitsverzeichnis, das z.B. /etc/httpd heißt. D.h. wenn du
AuthUserFile CSV/.htpasswd
angibst, versucht der Webserver, die .htpasswd aus dem Verzeichnis "/etc/httpd/CSV/.htpasswd" zu laden - wo sie natürlich nicht gefunden wird.
Antwort 12 von coros vom 28.09.2019, 08:37 Options
Hallo Supermax,
sorry, dass ich erst wieder so spät reagiere, aber ich hatte zu tun. Danke Dir für Deine Antwort.
Dann muss ich versuchen den Pfad heraus zu bekommen. Du hattest dazu ja bereits ein Script aufgeführt. Nur leider ist mein Kenntnisstand diesbezüglich sehr gering, bzw. ich kenne mich mit php überhaupt nicht aus.
Daher meine Frage, was muss ich denn nun genau machen, damit ich mit Deinem Script meinen Pfad auslesen kann.
Wenn es Dir möglich ist, beschreibe es möglichst einfach, denn wie bereits erwähnt, kenn ich mich mit php nicht aus.
Falls Du es mir nicht erklären kannst oder willst, erledigt das ja eventuell jemand anderes für Dich. Wäre jedenfalls super.
Danke schon mal im Voraus,
Oliver
Antwort 13 von php vom 28.09.2019, 09:19 Options
ganz einfach:
<?php
echo $_SERVER['SCRIPT_FILENAME'];
?>
in eine Datei packen und als
test.php abspeichern.
Auf deinen Webspace in das Verzeichnis packen, dessen Pfad dich interessiert.
Vom Browser aus aufrufen:
http://www.example.org/geheimesverzeichnis/test.php
in die Adresszeile des Browsers eingeben (
example.org und
geheimesverzeichnis durch deine Werte ersetzen!)
dein Browser sollte dir dann den Pfad anzeigen (soweit dein Webspace PHP unterstützt)
Antwort 14 von Supermax vom 28.09.2019, 09:22 Options
1. Erstelle dir einfach eine Textdatei auf deinem Rechner und benenne sie z.B.
test.php. In diese Datei schreibst du folgendes:
<?php
echo $_SERVER['SCRIPT_FILENAME'];
?>
2. Lade die Datei
test.php nun in das Verzeichnis, in dem sich auch die .htaccess und .htpasswd befinden.
3. Benenne die .htaccess um z.B. in _htaccess.
4. Rufe die test.php nun im Browser auf:
http://meine.domain/CSV/test.php
. Es sollte nun eine Ausgabe erscheinen z.B.
/home/webXXXX/htdocs/CSV/test.php
. Alles vor dem "test.php" ist das komplette Verzeichnis; das kopierst du und fügst es in die _htaccess ein bzw. änderst die AuthUserFile-Zeile:
AuthUserFile /home/webXXXX/htdocs/CSV/.htpasswd
.
5. Du kannst nun die _htaccess wieder in .htaccess umbenennen.
6. Wenn alles geklappt hat, kannst du die test.php vom Server löschen.
Antwort 15 von coros vom 28.09.2019, 09:52 Options
Hallo php und Supermax,
danke Euch für die hervorragende Anleitung. Dank dieser Anleitung habe ich den Pfad herausbekommen und nach ändern der beiden Dateien funktionierts nun.
Nochmal besten Dank an Euch beiden und an MixMax. Noch einen schönen Tag,
Oliver
Antwort 16 von coros vom 28.09.2019, 11:49 Options
Hallo nochmal,
eine Frage hätte ich noch. Ich möchte anstelle eines Textes bei
ErrorDocument 401 "
eine bestimmte Seite anzeigen lassen. Dort muss dann anstelle des Textes die komplette URL stehen?
Beispiel: http://www.xyz.de/Seite.htm
Ist das richtig oder muss dort etwas anderes eingetragen werden.
Danke Euch,
Oliver
Antwort 17 von Supermax vom 28.09.2019, 12:18 Options
Du kannst eine komplette oder eine relative URL angeben.
Also entweder
ErrorDocument 401 http://meine.domain/fehlerseite.html
oder
ErrorDocument 401 /fehlerseite.html
.
Die erste Variante brauchst du nur wenn deine Fehlerseite auf einem anderen Server bzw. einer anderen Domain liegt.
Antwort 18 von coros vom 28.09.2019, 12:25 Options
Hallo Supermax,
danke Dir für Deine Antwort. Es funktioniert.
Wunderschönen Tag noch,
Oliver