• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.htaccess Probleme!

mobby

Mitglied
Hi,

ich möchte einen Teil meiner Homepage mit einer Passwort Abfrage schützen.
Ich habe mich für die variante mit .htaccess entschieden.

Aber irgendwie will es nicht funktionieren.
Ich habe es so aufgebaut:

Ich habe meine Ordner so:

homepage:
Bilder (ordner)
bla (ordner)
bla (ordner)
index.html
bla.html
bla.html

kundenlogin (ordner)
[ kundenzugang.html (in Ordner "kundenlogin)
.htaccess
.htpasswd ]

[] = in dem Ordner kundenlogin

Meine .htaccess sieht so aus:

"
AuthType Basic
AuthName "Passwortgeschützter Bereich"
AuthUserFile bla/bla/htdocs/kundenlogin/.htpasswd.txt
require user testuser
"
(das .txt weil es im webspace irgendwie als .txt angezeigt wird, im windwos explorer nicht)
und ja für bla/bla habe ich den absoluten Pfad angegeben.
den habe ich mit einer php Datei raus gefunden
(<?php echo $_SERVER['DOCUMENT_ROOT']; ?>)

Und wegen dem Anbieter, ist ja 1&1 und es braucht "1&1 WebHosting 5.0", dass das mit .htaccess funktioniert. Dieses Script mit der php Datei geht ja aber eh erst ab der Version, das heißt das ist schon aktuell?
naja weiter geht es:

Meine .htpasswd sieht so aus:

"
testuser:test
"

... jetzt müsste doch alles was im Ordner "kundenzugang" ist geschützt sein??!?!
Also vorallem die kundenlogin.html ?
Nur wenn ich jetzt meine index aufrufe und auf den link zu kundenlogin.html gehe, dann ist da alles ungeschützt, wie wenn nichts passiert wäre.

Kann mir vlt. irgend wer weiterhelfen?? ^^
Danke!
 
Werbung:
Willkommen im Forum.

(das .txt weil es im webspace irgendwie als .txt angezeigt wird, im windwos explorer nicht)

„Bekannte Dateiendungen ausblenden“ im Windows aktiviert? (Irgendwo bei Ordneroptionen, aber mein Wissen ist veraltet.)

Relevant für dein Problem dürften erst mal nur diese drei Dateien sein:

Code:
kundenzugang.html
.htaccess
.htpasswd

Wenn der Pfad zur Datei mit den Nutzernamen/Passwörtern passend gesetzt ist, sollte der Inhalt von .htaccess generell stimmen.

Beim Zugriff auf kundenzugang.html solltest du dann zumindest ein Eingabefenster bekommen.

Was meines Wissens nicht stimmt, ist das Format, in dem du die Passwörter in .htpasswd ablegst. Die werden gehasht gespeichert.

- .htaccess

Generator etwa hier:

- Htpasswd Generator - Create a htpasswd password
 
okay, schon mal vielen Dank für eine so schnelle Antwort!
Also das mit dem Passwort Format hab ich geändert, gab aber keine Veränderung.
Bei mir erscheint nicht mal ein Eingabefenster, es öffnet die .html Seite einfach so.

Vlt. stimmt doch etwas an dem Pfad zur .htpasswd.txt nicht?
Also das mit dem Script und dem document root, da kommt raus:
/kunden/homepages/Zahl/Buchstabe + Nummern/htdocs

dann mach ich draus:

/kunden/homepages/Zahl/Buchstabe + Nummern/htdocs/kundenlogin/.htpasswd.txt

mir kommt das vorne mit dem nur /kunden/homepages irgendwie komisch vor.
Wie erkennt er denn da, dass er zu 1&1 und so weiter muss?

//edit:

Also ich habe die Anleitung dafür von hier:
klick mich

Da steht z.B. bei Schritt 3 was davon, dass ich die .htaccess und die .htpasswd irgendwie umwandeln muss, bzw. entsprechend hochladen?!
Vlt. hat es auch damit was zu tun?

Sorry bin echt nicht so der Spezialist auf dem Gebiet ^^

//edit2:

Und noch was, ich habe jetzt mal geschaut, also mein Webspace ist so aufgebaut:

/Webspaceallgemein/ordner1/ordermeinerhp/ordner2/ meine dateien und der Ordner kundenlogin
desswegen habe ich jetzt auch noch mal in dem Pfad alles so weitgehend abgeändert, dass es jetzt so aussieht:

/kunden/homepages/zahl/Buchstaben + zahlen/htdocs/odnermeinerhp/ordner2/kundenlogin/.htpasswd.txt

....
 
Zuletzt bearbeitet:
Werbung:
Bei mir erscheint nicht mal ein Eingabefenster, es öffnet die .html Seite einfach so.

Dann scheint die .htaccess-Datei überhaupt nicht zu greifen. Du bist dir sicher, dass die Datei genau ".htaccess" heißt und sich im passenden Verzeichnis befindet? Im Zweifel auch ruhig mal neu hochladen.

/kunden/homepages/Zahl/Buchstabe + Nummern/htdocs/kundenlogin/.htpasswd.txt

Bei dem 1&1-Webspace, auf den ich Zugriff habe, wäre der Pfad so:

Code:
/kunden/homepages/xx/bxxxxxxxxx/htdocs/bbbxxxxxxxxx/kundenlogin/.htpasswd.txt

Also zusätzlich noch mit dem "bbbxxxxxxxxx"-Anteil, wobei b für Buchstabe und x für Zahl steht.

Mag am Tarif liegen. $_SERVER['DOCUMENT_ROOT'] sollte aber eigentlich passen.

Habe es gerade getestet. Bei mir funktioniert es. Vor allem müsste die .htaccess-Datei so oder so ein Eingabefeld auslösen.
 
- Die .htaccess muss sich in der document root befinden, also dort, wo die index.html oder index.php für diese Domain abgelegt sind.

- Die Passwortdatei heißt .htpasswd und nicht .htpasswd.txt. Keine Ahnung, ob das mit der Endung trotzdem funktioniert.
 
Zuletzt bearbeitet:
- Die .htaccess muss sich in der document root befinden, also dort, wo die index.html oder index.php für diese Domain abgelegt sind.

Nein, sie kann auch in einem Unterverzeichnis liegen, wirkt dann aber nur auf dieses Verzeichnis und dessen Inhalt.

- Die Passwortdatei heißt .htpasswd und nicht .htpasswd.txt. Keine Ahnung, ob das mit der Endung trotzdem funktioniert.

Ja, in meinem Test funktioniert es auch mit .txt-Endung. Die Datei sollte natürlich dennoch nach Möglichkeit .htpasswd heißen, weil das der konventionelle Name ist.

Wie gesagt, ich hab's auf einem 1&1-Space ausprobiert. Ob das Ergebnis auf mobbys Fall übertragbar ist oder nicht – keine Ahnung.
 
Werbung:
ooooookay,

jetzt funktioniert es.
Ich habe einfach die .htaccess.txt auf meinem Server umbenannt und das .txt gelöscht. Jetzt greift es und ich bekomme ein Login Fenster.
Nur es gibt noch ein paar Probleme:

Erstens Mal habe ich eine Frage zum Passwort. Ich habe ja einen Benutzer "testuser" mit dem Passwort Generator angelegt.
Da habe ich das Wort "test" verschlüsseln lassen. Muss ich jetzt bei der Login Abfrage "test" oder das verschlüsselte lange Passwort eingeben? Ich hoffe doch das Wort "test" ....
Jedoch ... egal was ich eingebe es kommt immer ein Fehler. Es sagt die Seite kann nicht angezeigt werden.

Außerdem ist es irgendwie etwas Fail, manchmal funktioniert es manchmal nicht.
Lösche ich den Cache Cookies usw. und rufe die Seite neu auf, dann funktioniert es. Es kommt eine Abfrage. Nur gebe ich etwas ein, egal was kommt halt dieses Seite kann nicht angezeigt werden. Gehe ich dann zurück und rufe den Link erneut auf dann öffnet es die Seite einfach ohne Abfrage ... äh wtf? ^^

Ja, also ich glaube jetzt kommen erst die richtig schwierigen Probleme .... :(

Und nochmals vielen Dank schon für die vielen Antworten !!!! Hat mir echt schon weiter geholfen!
 
Ich habe einfach die .htaccess.txt auf meinem Server umbenannt und das .txt gelöscht.

Du hast natürlich nie erwähnt, dass die die Endung .txt hat. Bisschen schwierig, dir dann genaue Hilfen zu geben, ohne zu raten. ;)

Da habe ich das Wort "test" verschlüsseln lassen. Muss ich jetzt bei der Login Abfrage "test" oder das verschlüsselte lange Passwort eingeben?

Nur „test“. Die gehashte Variante dient lediglich dazu, die Passwörter nicht in Reinschrift irgendwo vorhalten zu müssen. Das ist beim Speichern von Passwörtern völlig üblich.

Jedoch ... egal was ich eingebe es kommt immer ein Fehler. Es sagt die Seite kann nicht angezeigt werden.

Dann passt wahrscheinlich entweder der Pfad zur .htpasswd-Datei nicht oder das Format innerhalb der .htpasswd-Datei ist inkorrekt.

Das sollte grob so aussehen (deine genauen Werte dürften abweichen):

Code:
testuser:$apr1$OFSzb/..$5NFur3X4EqlcT1eytHEvy1

Lösche ich den Cache Cookies usw. und rufe die Seite neu auf, dann funktioniert es. Es kommt eine Abfrage. Nur gebe ich etwas ein, egal was kommt halt dieses Seite kann nicht angezeigt werden. Gehe ich dann zurück und rufe den Link erneut auf dann öffnet es die Seite einfach ohne Abfrage ... äh wtf? ^^

Kann ich dir auch nicht genau sagen. Ich schließe zum Testen immer den Browser und starte ihn neu. Das ist aber mehr oder weniger „normales“ Verhalten bei dieser .htpasswd-Geschichte. Also, falls du mit „dann öffnet es die Seite einfach ohne Abfrage“ die Fehlerseite meinst, jedenfalls.
 
hey,

ja also ich hab jetzt mal alles von einem anderen PC ausprobiert.
Und es hat alles funktioniert, mann kann den PW Schutz nicht umgehen.
Nur wenn ich ein Mal eine korrekte PW eingabe gemacht habe, dann laed er die Seite das naechste Mal ohne Abfrage, wie kann ich da einstellen, in meinem .htaccess vlt., dass es keine cookies speichern kann?
Es soll jedes Mal neu abfragen, auch wenn ich es zuvor schon Mal richtig eingegeben habe????

Danke!!!!
 
Werbung:
hey,

also ich hab jetzt wirklich alles so eingestellt wie es brauche.

Nur eine große Frage bleibt mir:

Kann ich über die .htaccess Datei irgendwie Regeln einbinden, dass bestimmte Benutzer eine bestimmte Weiterleitung erhalten?
Als Beispiel würde das wie folgt aussehen:

Ich habe auf meiner index in der Navi einen Punkt "Kundenzugang" ... klicke ich auf den Link erscheint das gewohnte Eingabefenster der .htaccess Sicherung.
Gebe ich da jetzt als Login "kunde1" + "pw1" ein leitet es mich auf eine Seite/Verzeichnis in dem Daten abgespeichert sind, die nur für "kunde1" bestimmt sind.
Gebe ich "kunde2" und "pw2" ein, solle es auf ein anderes Verzeichnis verweisen.

Ist das irgendwie möglich?

Und klar, ich könnte einfach einen Kundenzugang als .html bauen auf dem ich Verlinkungen in die verschiedenen Verzeichnisse habe und jedes Verzeichnis eben eine eigene .htaccess.
So könnte man das schon machen, also dann kann jeder Kunde sein Verzeichnis auswählen. Nur das Problem ist, ich möchte nicht, dass alle Menschen sehen, was für Kunden da aufgelistet sind.
Sondern so, wie oben beschrieben ;)

Danke nochmal für die vielen Antworten bis her und ich hoffe, dass auch dadrauf jemand eine Antwort hat :)

Gruß Henrik
 
.htaccess ermöglicht über das Apache-Modul mod_auth durchaus einen Passwortschutz. Nur wird dieser nicht innerhalb der Webseite dargestellt. Er wirkt auf ganze Verzeichnisse aus. Wenn Du also ein Verzeichnis IANA &mdash; Example domains schützen willst, dann kannst Du das per .htaccess erreichen. Ich würde dir jedoch raten für sowas ein Formular in die Webseite einzubinden und einen Passwortschutz z.B. auf PHP-Basis zu programmieren. Sieht besser aus und ist handlicher.
 
okay, ja vielen Dank für die Info.
Also ich werde mich dann mal in die Grundlagen von PHP einarbeiten. Wird wohl mal Zeit :)
Ich meld mich, wenn ich hier weiter gekommen bin.

//edit:

Habe mich nun mal etwas mit PHP beschäftigt und werde alle weiteren Fragen direkt im PHP Thread posten.
Das Thema .htaccess ist damit für mich erst Mal erledigt.

Danke für die Hilfe !!!
(kann also geschlossen werden)
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben