Frage

Ich habe eine .htaccess und .htpasswd-Dateien erstellt und im Ordner Ich mag gespeichert schützen und wenn ich in diesem Ordner navigiert, wurde ich für die Benutzername und passowrd (gespeichert in der .htpasswd-Datei) nach der Eingabe gefragt Benutzername und Passwort, ich bekam einen 500 Interner Serverfehler. Ich habe die Dateien sowohl auf localhost (Fenster) und auf einem Web-Server verwendet (Linux glaube ich) beide das gleiche Ergebnis gab erwähnt.

Das ist meine .htaccess-Datei:

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow
War es hilfreich?

Lösung

Ich bezweifle, dass Ihre .htpasswd Datei wirklich an der Wurzel des Dateisystems des Servers befindet sich zusammen mit /bin, /usr, /home, und andere (nicht innerhalb des Teils des Dateisystems auf dem Web-Browser bedient).

Nach Apache Dokumentation ( 1 , 2 ) erwartet AuthUserFile einen Dateipfad (als ob Sie waren in ServerRoot, in der Regel /usr/apache oder ähnlich, und versucht, die Datei aus dem Unix-Shell) zu lokalisieren. Es kann nicht eine URL, entweder absolut oder relativ sein. Korrigieren Sie Ihren .htpasswd Dateipfad entsprechend.

Beachten Sie, wenn möglich, sollten Sie die .htpasswd Datei in einem public_html oder htdocs Ordnern nicht setzen, weil jeder Konfigurationsfehler nicht nur unberechtigten Zugriff erlauben könnte zu den Dateien, die Sie schützen wollen, sondern auch die autorisierten Benutzername und Hash-Passwörter.

Andere Tipps

Verwenden Sie einen absoluten Hosting-Pfad, zB:

/home/content/14/5267714/html/.htpasswd
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top