Moin
Ich habe einen Verzeichnisschutz über .htaccess jetzt möchte ich auf den ungeschützten Seiten einen sogenannte Login für die geschützten einrichten. Sprich ein Formularfeld, wo der Benutzer seinen Usernahmen eingeben kann (Passwort bleibt erstmal immer gleich).
Das Formular übergibt dann die Daten an den Server und im Falle der Richtigkeit (prüfung .htaccess) gehts in den geschützten Bereich.
Kann man soetwas über php lösen?
Jein, du kannst die Daten nicht einfach so dem Server zur Authentifizierung übergeben, das müsstest du schon selber machen. Also Benutzername und Passwort auslesen (entweder über $PHP_AUTH_NAME und $PHP_AUTH_PW oder getallheaders()), .htpasswd öffnen, einlesen, Benutzername raussuchen, Passwort durch crypt() jagen und mit dem aus der .htpasswd vergleichen. Das müsstest du bei jedem Request wieder machen, also das Passwort ping-pong-mäßig zwischen Server und Browser hin-und herschicken. Ahja, und .htaccess-Passwortschutz muss dann für die PHP-Skripte ausgeschaltet werden, sonst fängt der Server das Passwort ab und dein Skript kriegt nichts mehr davon zu sehen.
Das willst du nicht wirklich tun :)
Die bessere Lösung ist es dann, gleich auf den Passwortschutz per Server zu verzichten und ihn selbst zu bauen. Das erspart dir schonmal das Parsen der .htpasswd. Für den Anfang reicht es dann auch das Passwort (evt. in gehashter Form, z.B. mit md5() ) im Skript abzulegen, bzw. es später in eine Datei oder Datenbank zu tun. Damit das Passwort nicht dauernd übertragen wird, möchtest du dann Sessions einsetzen, was dir gleich eine einfach Log Out-Möglichkeit gibt.
--
Henryk Plötz
Grüße aus Berlin