Hallo alle;
... dumme Frage (und etwas unscharfes Problem, daher das putzige Subject): Derzeit baue ich an einer apache-Konfiguration, die im Großen und Ganzen so aussieht:
* Kunden können über eine Adresse der Art
http://download.<domain>.de/
auf die Site gelangen... Die entsprechende Konfiguration für das / - Verzeichnis sieht so aus:
<Directory /var/www/ftpserver/> Options Indexes FollowSymLinks MultiViews ExecCGI DirectoryIndex index.cgi AuthType Basic AuthPAM_Enabled on AuthName "***" require valid-user AllowOverride None Order allow,deny allow from all </Directory>
Sprich: Das Dingens erfordert Authentifikation durch einen gültigen Nutzer auf dem System.
* Besagtes "index.cgi" greift sich die REMOTE_USER - Umgebungsvariable, holt mittels getpwnam() das zugehörige $HOME-Verzeichnis und wirft einen "Location:" - Redirect aus, der auf das eigentliche Download-Verzeichnis für den Nutzer umleitet.
* Dieses nutzerbezogene Download-Verzeichnis hat eine Adresse der Art
http://www.<domain>.de/ftp/<gruppenpfad>/<nutzerverzeichnis>
wobei in den Nutzerverzeichnissen eine .htacces - Datei folgendes festlegt:
Options +Indexes AuthType Basic AuthPAM_Enabled on AuthName "***" require user <NUTZER>
Soweit, so gut. Das Ganze funktioniert auch mit konqueror und Mozilla problemlos; mit MSIE's wird zweimal eine Authentifikation abgefragt. An sich ist mir klar, warum letzteres passiert (und eigentlich auch passieren sollte), nur will ich das hier eigentlich nicht. Frage daher:
* Kann ich (außer Cookie und/oder "Passwort speichern...") am Client den Server irgendwie dazu bewegen, die Anmeldung über den Redirect hinaus zu "merken"?
* Warum verhalten sich die Browser an diesem Punkt unterschiedlich?
Danke und bye, Kris
Hallo Kristian!
Am Freitag, 3. September 2004 10:53 schrieb Kristian Rink:
http://download.<domain>.de/ "Location:" - Redirect http://www.<domain>.de/ftp/<gruppenpfad>/<nutzerverzeichnis>
Soweit, so gut. Das Ganze funktioniert auch mit konqueror und Mozilla problemlos; mit MSIE's wird zweimal eine Authentifikation abgefragt.
- Kann ich (außer Cookie und/oder "Passwort speichern...") am Client den Server irgendwie dazu bewegen, die Anmeldung über den Redirect hinaus zu "merken"?
Nein, er merkt es sich nämlich auch sonst nicht. Der Server nutzt keine Sessions oder so. Vielmehr wird bei jeder Anfrage das Paßwort neu versandt.
- Warum verhalten sich die Browser an diesem Punkt unterschiedlich?
Weil manche kaputt sind. Welche eine Meise haben, weiß ich nicht. Vielleicht ist auch gar nicht so genau festgelegt, ob die Authentifizierung über Subdomains hinweg gelten soll.
Lösungsvorschlag: Du solltest in Anbetracht der Kompatibilitätsprobleme die Authentifikation lieber serverseitig speichern. Das geht mit Sessions, die Apache von sich aus verwalten kann. Die haben allerdings nur eine halbe Stunde Gültigkeit.
Oder Du leitest bei Erfolg zuerst von download.xyz.de auf download.xyz.de/checked um und von da aus in www.xyz.de/bla, wo Du schaust, ob der Surfer von checked kommt. Das läßt sich manipulieren, aber normale Menschen können das nicht. Wenn der Surfer nicht von checked kommt, mußt Du wieder die htaccess-Abfrage einbauen, um Bookmarks zu ermöglichen.
Die zweite Variante ist sehr kompliziert, die erste erfordert aber auch etwas Programmierarbeit und paßt vielleicht nicht in Dein System.
Warum leitest Du nicht einfach pauschal weiter und prüfst das Paßwort erst auf der www-Subdomain?
Thomas
lug-dd@mailman.schlittermann.de