User/Passwörter für .htaccess aus einer DB laden?
Walter
- programmiertechnik
Hallo,
ich habe folgendes Problem:
Ich habe eine gewisse Anzahl User die auch schon mit ihren
Kennwörern in einer Datenbank stehen. Nun soll ein Download-
bereich installiert werden, wo nur diese User Zugang haben.
Dies soll mit htaccess geschehen (Gründe weiter unten).
Muß ich alle User in eine Datei schreiben oder kann
ich die Passwörtern mit den Usern auch dynamisch aus einer
DB auslesen?
Der Nachteil alles in der Datei abzuspeichern ist für mich,
dass ich jedes Mal die komplette Datei bearbeiten muss und
ab einer gewissen Größe ist das wahrscheinlich zu langsam.
(z.B. mit vielen Dateizugriffen wenn User Passwörter ändern).
Ich würde halt gerne die Datenbank dafür nutzen, in meinem
Fall MySQL.
Ich hab mich ein wenig mit dem Thema beschäftigt, aber nur
herausgefunden, dass ich mit PHP auch einen htaccess Anmeldebild-
schirm erzeugen kann. Wenn z.B. PHP die Anmeldung übernimmt,
dann kann ich natürlich die Datenbank nutzen.
Der Knackpunkt bei mir ist aber der Downloadbereich.
Denn nur mit htaccess kann ich eben (ohne Sessions) das komplette
Verzeichnis schützen. Wenn ich eine Session mit z.B. PHP benutze,
dann habe ich Probleme wenn ich größere Downloads habe.
Da ich das Verzeichnis nicht mit htaccess schützen kann (will)
muß ich Sessions nehmen und den Download über PHP abwickeln.
Also Datei auslesen und ausgeben, da die eigentliche Adresse
des Downloads nicht bekannt sein soll.
Da bei größeren Downloads aber der Timeout greift stehe ich wieder
am Anfang...
DB für die Userlogins benutzen bedeutet Sessions und damit keine
Möglichkeit ein Downloadverzeichnis zu schützen.
htaccess bietet mir diese Möglichkeit, aber alle Userdaten müssen
in der lokalen Datei gespeichert werden.
Oder übersehe ich etwas?
Ich hoffe ich habe so ungefähr rübergebracht wo mein Problem liegt.
Vielleicht kann mir ja jemand einen Tipp geben.
Bis dann,
Walter
Moin,
Ich würde halt gerne die Datenbank dafür nutzen, in meinem
Fall MySQL.
http://freshmeat.net/projects/mod_auth_mysql/
Hallo,
Ich würde halt gerne die Datenbank dafür nutzen, in meinem
Fall MySQL.
Das ging ja schnell :-)
Nur leider muß ich dazu sagen, dass ich nur einen 'einfacheh'
Webspace habe und keine Rechte Module einzubinden...
Wenn es keine andere Lösung gibt, dann versuche ich mal
mit meinem Provider zu sprechen.
Auf jeden Fall Danke für den Link!
bis dann,
Walter
Moin!
Ich hab mich ein wenig mit dem Thema beschäftigt, aber nur
herausgefunden, dass ich mit PHP auch einen htaccess Anmeldebild-
schirm erzeugen kann. Wenn z.B. PHP die Anmeldung übernimmt,
dann kann ich natürlich die Datenbank nutzen.
Der Knackpunkt bei mir ist aber der Downloadbereich.Denn nur mit htaccess kann ich eben (ohne Sessions) das komplette
Verzeichnis schützen. Wenn ich eine Session mit z.B. PHP benutze,
dann habe ich Probleme wenn ich größere Downloads habe.
Den Link zu mod_auth_mysql hast du schon erhalten. Das wäre die simpelste Lösung.
Die Alternative mit PHP statt .htaccess funktioniert nur, wenn PHP als Apache-Modul eingebunden ist. Nur dann kriegst du Username und Passwort geliefert, die der Benutzer eingegeben hat.
Und ansonsten bleiben nur Sessions - in jedem Falle aber mußt du zwingend ein PHP-Auslieferungsskript verwenden. Entweder eines, dass die Session prüft und dann die Datei liefert, oder eines, dass die HTTP-Auth-Daten prüft und dann die Daten liefert.
Wirklich ohne PHP kommst du nur mit dem mysql-Modul weiter. Oder eben, wenn du die Userdaten alle in eine Datei schreibst und "normales" .htaccess machst. Du hast dabei aber vollkommen recht: Schön ist das nicht, und langsam wird es ab einer gewissen Userzahl wohl auch sein.
Das Forum hier nutzt mod_auth_pgsql und eine PostgreSQL-Datenbank zur Authentifizierung. Funktioniert wunderbar soweit.
Vielleicht hast du ja Glück, und das Modul (leider gehört es noch nicht zum Apache-Standard) ist bereits installiert.
- Sven Rautenberg