PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .htaccess problem


Stifler
09.10.2004, 14:02:11
hallo,

ich wollte auf meiner seite einen login einbauen und dies mit htaccess lösen. die page wird nur lokal betrieben.

es stellt sich bei mir folgendes problem.

habe mir den text von selfhtml zu gemüte geführt und dann die dateien in das verzeichniss kopiert. allerdings wenn ich nun die seite aufrufe kann ich ganz normal darauf zugreifen. sprich es wird keine user und pw abfrage gestartet :(

hier mal der "code" der beiden dateien


//die datei heist .htaccess

# .htaccess-Datei fuer Web-Verzeichnis
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile /apache/htdocs/test/.htusers
require user Werner Dieter Heidi


//die datei .htusers
# Benutzerdatei fuer Web-Projekt
Werner:Herakles
Dieter:Archilles
Heidi:Diana


die beiden dateien liegen im dem orden C://apache/htdocs/test
darin befinden sich auch die ordner und die index.php (beim öffnen der index.php soll das pw abgefragt werden) die geschützt werden sollen.

kann mir jemand sagen was ich falsch mache? ist der speicher name falsch? oder der pfad?

danke schonmal

xabbuh
09.10.2004, 21:03:28
Edit: Der ganze Beitrag war nicht sehr durchdacht gewesen.

Stifler
10.10.2004, 05:18:33
also ich hab jetzt mal ne runde durch gegoogelt und die einzigen fehler die ich bis jetzt gefunden habe sind.

1. ich habe die datei einfach nur .htaccess genannt sie muß aber .htaccess.txt heisen (steht zumindest mal auf ein paar pages)

2. die pfadangabe kann ich mir schenke sprich ich muß von dem ordner ausgehen wo die htaccess datei steckt z.b. hta ist in dem ordner test und htuser ist in test1 dann lautet die pfadangabe nur /test1/.htuser

3. es kommt immer noch nix weder eine fehlermeldung noch erscheint das fenster :(

liegt das daran das ich in dem ordner die index datei habe? es soll halt sobald die startseite geöffnet wird die user und pw abfrage kommen. oder muß ich auf der index seite noch irgenwas einfügen damit die datei angesprochen wird? laut selfhtml wird sie ja automatisch angesprochen. oder liegt es vielleicht an meinem apache server?

viele fragen und kein land in sicht *snief :(

xabbuh
10.10.2004, 09:48:01
Habe den Inhalt meines letzten Beitrages gelöscht, der nicht sehr sinnvoll war.

Jetzt aber zurück zu deinem Problem. Die Dateien müssen wirklich .htaccess (nicht .htaccess.txt) und .htusers (nicht .htuser.txt) heißen.

Für die Pfadangabe zur .htusers gilt folgendes:

Es muss der vollständige absolute Pfadname angegeben werden. Also ist nicht der Pfad ab dem Wurzelverzeichnis Ihres Web-Projekts, sondern ab dem Wurzelverzeichnis des Server-Rechners. Fragen Sie dazu gegebenenfalls Ihren Provider oder Webmaster!

Quelle: SelfHTML (http://de.selfhtml.org/diverses/htaccess.htm#verzeichnisschutz)

Da auf deinem PC Windows läuft, muss die .htaccess etwa so aussehen:

# .htaccess-Datei fuer Web-Verzeichnis
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile C:/apache/htdocs/test/.htusers
require user Werner Dieter Heidi


Beachte: Die .htaccess-Datei muss in dem Verzeichnis liegen, dass du schützen willst.

Stifler
10.10.2004, 14:12:30
ok habe die pfadangabe geändert aber leider funktionert das mit der abfrage immer noch nicht. ich öffne die index seite und es passiert nix.

sind die dateinamen .htaccess.txt und .htuser.txt richtig?

mir kommt es fast so vor das die dateien überhaupt net berücksichtigt werden. nur mal zur info ich benutze phptriad 2-2-1

das ´läuft noch mit php 4.1.1 und Apache/1.3.23

könnte es vielleicht daran liegen? weil die access dings muß steht ja irgendwo im apache

xabbuh
10.10.2004, 19:15:19
Original geschrieben von Stifler
sind die dateinamen .htaccess.txt und .htuser.txt richtig?

Original geschrieben von xabbuh
Jetzt aber zurück zu deinem Problem. Die Dateien müssen wirklich .htaccess (nicht .htaccess.txt) und .htusers (nicht .htuser.txt) heißen.

Fällt dir was auf?

vt1816
10.10.2004, 19:17:17
sind die dateinamen .htaccess.txt und .htuser.txt richtig?
Nein, richtig ist .htaccess und .htuser. Benenne die Dateien entsprechend um.
An den installierten Versionen (wie beschrieben) sollte es nich scheitern.

Stifler
10.10.2004, 21:32:51
Fällt dir was auf?

ups hab ich überlesen :(

also die dateien heisen jetzt .htaccess und .htuser allerdings besteht immer noch das gleiche problem.

ich versteh einfach net wo der fehler liegt.

wenn es weiter hilft kann ich den ordner mit dem file gerne per mail mal zu senden bzw hier ist meine icq nr.: 65590131

xabbuh
10.10.2004, 21:45:40
Poste doch mal bitte den aktuellen Inhalt der .htaccess und der .htusers, sowie eine Verzeichnisstruktur mit der dortigen Lage der beiden Dateien hier rein. Benutzer und Passwörter kannst du ja ändern.

Stifler
10.10.2004, 23:23:21
inhalt der .htaccess datei


# .htaccess-Datei fuer Web-Verzeichnis
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile C:/apache/htdocs/test/kontakt/.htuser
require user Werner Dieter Heidi

inhalt der .htuser datei


# Benutzerdatei fuer Web-Projekt
Werner:Herakles
Dieter:Archilles
Heidi:Diana


die struktur sie folgender massen aus. im verzeichnis htdocs befindet sich der ordner "test" mit dem tool.

im ordner test befinden sich die dateien index.php, body_index.php und .htaccess

in dem unterordner "kontakt" befindet sich die datei .htuser

ich möchte das sobald die index.php aufgerufen wird, nach dem username und pw gefragt wird.

meikel
11.10.2004, 00:10:51
Original geschrieben von Stifler
inhalt der .htuser datei


# Benutzerdatei fuer Web-Projekt
Werner:Herakles
Dieter:Archilles
Heidi:Diana

1. Die Paßwörter sind falsch codiert. Benutze zum Erstellen des Paßwortfiles entweder das Linuxprogramm htpasswd oder das Windowsprogramm htpasswd.exe. Letzteres findest Du in Deiner WAMP Installation. ZB: c:xamppapachebinhtpasswd.exe
Einfach mal ohne Parameter (oder mit --help) aufrufen.

2. Kontrolliere Deine Apache-Config. Aus dem Apache Handbuch:
The use of .htaccess files can be disabled completely by setting the AllowOverride directive to "none"

AllowOverride None
http://httpd.apache.org/docs/howto/htaccess.html

Was Deine Frage mit HTML und Javascript zu tun haben könnte, erschließt sich mir allerdings absolut nicht.

Stifler
11.10.2004, 00:39:27
wieso sollen die pws falsch sein??? hab das original so von selfhtml kopiert zum testen. um "kodieren" muß man sie ja nur bei unix systemenen laut deren beschreibung

denkst du wirklich das es an den einstellungen des servers liegen könnte?

meikel
11.10.2004, 00:46:38
Original geschrieben von Stifler
>wieso sollen die pws falsch sein???

Weil die verschlüsselt sein müssen. Sonst könnte die ja jeder Depp im Klartext lesen. Du hast die Wahl zwischen CRYPT, SHA oder MD5.

>um "kodieren" muß man sie ja nur bei unix systemenen laut deren beschreibung

Das wäre mir echt neu...

>denkst du wirklich das es an den einstellungen des servers liegen könnte?

Ich denke das nicht nur, ich weiß das. Wenn sich der Indianer nicht um Dein .htaccess File kümmert, dann tut er nur das, was in der httpd.conf steht.

xabbuh
11.10.2004, 08:57:47
>um "kodieren" muß man sie ja nur bei unix systemenen laut deren beschreibung

Laut SelfHTML (http://de.selfhtml.org/diverses/htaccess.htm) ist Codierung anscheinend wirklich nicht unter Windows notwendig.

meikel
11.10.2004, 10:15:45
Original geschrieben von xabbuh
Laut SelfHTML (http://de.selfhtml.org/diverses/htaccess.htm) ist Codierung anscheinend wirklich nicht unter Windows notwendig.
Falls der Apache gemeint ist:
http://httpd.apache.org/docs-2.0/howto/auth.html

"The AuthUserFile directive sets the path to the password file that we just created with htpasswd."

Stifler
11.10.2004, 11:15:42
ok also es lag tatsächlich am indianer. hab das phptriad runtergeschmissen und mir die neuste version von xampp gezogen.

nun klapt das auch mit der user und pw abfrage :)

die pw mußte ich übrigens nicht verschlüsseln, sondern hab sie genau so gelassen wie es in selfhtml steht und es funktioniert.


nun eine andere frage wie kann ich nun abfragen wer sich eingeloogt hat? komm ich an die daten irgendwie ran??? ich bräuchte denn benutzer namen zum speichern

xabbuh
11.10.2004, 11:39:46
Der Benutzername wird $_SERVER['REMOTE_USER'] gespeichert.

Stifler
11.10.2004, 11:47:24
hab es grad mit $_SERVER['PHP_AUTH_USER'] ausprobiert und bekomme ebenfalls den grad angemeldeten user.

was ist nun besser??

$_SERVER['PHP_AUTH_USER'] oder $_SERVER['REMOTE_USER']


und nochmals danke vielmals für eure hilfe

xabbuh
11.10.2004, 12:16:43
Schau dir mal diesen Link (http://www.php.net/manual/de/features.http-auth.php) an.

Stifler
11.10.2004, 13:08:15
alles klar danke :)