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

Lösung gesucht

B

Beginner+

Guest
Hallo zusammen!

Bin neu hier und komme gleich mit einer vielleicht gar nicht so leicht zu beantwortenden Frage.

Ich habe einen Downloadbereich und möchte, dass ein Benutzer, wenn er sich gemäß der .htaccess-Eintrags angemeldet hat, zu dem für ihn bestimmten Downloadbereich (also in das Verzeichnis, in dem seine Downloads hinterlegt sind) gelangt.

Beispiel:

/download/hans: in diesem Verzeichnis liegen Dateien, die für den Downlod durch Hans bestimmt sind.
/download/anna: in diesem Verzeichnis liegen Dateien, die für den Downlod durch Anna bestimmt sind.

im Verzeichnis /download soll nun die Anmeldung erfolgen und dann gemäß der Anmeldung zum Hans- oder Anna-Verzeichnis weitergeleitet werden, gerade so als gäbe Anna z.B. als Browseradresse: download.xyz.de/anna/index.html ein. (die subdomain verweist dabei auf Kostenlose E-Mail Adresse mit Gratis-SMS bei freenet Mail). Ich möchte also dem Benutzer einige Tipparbeit ersparen, in dem er/sie nur download.xyz.de eingibt und dann seine Anmeldedaten in ein schönes Login-Formular.

Sonst hab' ich fast keine Wünsche ;-)))

Geht sowas? Wenn ja, wie?

Mit bestem Dank,

Volker
 
Hallo,

klar geht das aber nur mit PHP.
im /download verzeichnis ist eine php, nach htaccess anmeldung kannst ja mit $_SERVER['REMOTE_USER'] den anmelde Benutzername auslesen und mit php weiter verarbeiten, alles klein und dann mit head() weiterleitung in das verzeichnis was möchtest.

oder was meinst?

Cheffchen
 
Moin,
das sollte auch mit ner .htaccess gehen.
Code:
AuthName "Downloads"
AuthType Basic
AuthPGAuthoritative Off


AuthUserFile  /path/to/download/.htusers
require valid-user


RewriteEngine on
RewriteRule ^$ /download/%{REMOTE_USER}/ [R=301,L]

MfG
 
Danke, Ihr Vollprofis!

Für mich als Beginner+ schon mal gut, dass es prinzipiell geht. Mit PHP hab' ich jetzt nicht wirklich so viel Ahnung, "ich weiß nicht, ob Sie das schon wußten..." ;-).

Was fertiges mit Anleitung für Dummies wird's nicht geben, nehm' ich an? Könnt ihr mir vielleicht dahingehend noch weiterhelfen, wo ich die nötigen Informationen mir zusammensuchen kann, um das Ganze zu realisieren? (In der .htaccess von Sentence stehen Sachen drin, die hab' ich nie gesehen ;-). Aber irgendwie sieht das so aus, als wäre mir damit schon geholfen, fällt mir gerade auf, soweit meine mageren Kenntnisse reichen. Schade, dass man in .htaccess nicht einfach einen Formularnamen eingeben kann, über den die Anmeldung vonstatten gehen soll).

Im voraus schon mal Danke,

MfG, dito ;-)
 
Sentence hat dir bereits eine Lösung ohne PHP notiert. Aus meiner Sicht ist das auch das was Du eigentlich brauchst. Wenn Du eine Anleitung brauchst wie man .htaccess-Dateien anlegen kann, schau mal hier: Erstellen von .htaccess-Dateien

Was in seinem Code steht sind zum Einen Angaben für mod_auth (Modul des Webservers Apache), zum Anderen mod_rewrite (ebenfalls ein Modul des Webservers). Details zu deren Bedeutung kannst Du dem Manual der Module entnehmen:
mod_auth - Apache HTTP Server
mod_rewrite - Apache HTTP Server

Auf deutsch gibt es dazu auch einige Seiten die man durch eine kurze Suche nach o.g. Suchbegriffen schnell finden kann.

Wenn Du ein Anmeldeformular willst, dann musst Du in jedem Fall auf PHP oder eine andere Webprogrammiersprache ausweichen.
 
Hallo nochmal!

So, es hat geklappt - Nachdem ich mir meinen privaten Indianer mal installiert habe (Jargon wie ein Vollprofi, t'schuldigung, aber "Indianer" find ich halt netter als Apache, warum eigentlich nicht "Winnetou"?... :grin:) und ein bisserl rumgefrickelt hab' sieht das Ergebnis in der .htaccess so aus:

AuthUserFile /xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/.htuser
AuthName "Geschützer Downloadbereich. Anmeldung erforderlich!"
AuthType Basic
#AuthPGAuthoritative Off
require valid-user
RewriteEngine on
RewriteRule ^$ /%{REMOTE_USER}/ [R=301,L]

welche zu finden ist in dem Verzeichnis, unterhalb dessen die Downloadbereiche für die Benutzer liegen.

Der Pfad zur .htuser ist oben ausgeixxt, weil das ist ein Bereich meines Providers, den will ich hier freilich nicht kundtun...

Einmal anmelden und -ZACK!!!, it's a kid of magic, you know 8-)) steht der Benutzer in dem für ihn bestimmten Verzeichnis.

SUUUUUUUUUUUPAHHHHHHHH!!!!!!!!! DANKÄÄÄÄÄÄÄÄÄÄÄÄÄÄ!!!!!

Zwei Sachen noch, zum Abschluss:
Was bedeutet "AuthPGAuthoritative Off"? Ich habe im Netz gesucht (auch in verschiedenen Apache-Dokumentationen), aber keine befriedigende Antwort gefunden. Lasse ich diese Zeile in meiner .htaccess stehen, krieg' ich einen Error 500 zurück. Will wohl mein Provider nicht... :-(

Und dann noch: Es gibt doch bestimmt einen genauso eleganten Weg, in einer HTML-Datei den angemeldeten Benutzernamen (also den Login-Namen, freilich) auszugeben!??? PHP-Code kann doch direkt in einer HTML-Datei auftauchen, oder geht das nicht?? Gibt's da vieleicht was von Javascript?? Oder kennt HTML eine entsprechende Variable?

Also, Danke nochmal für die alten und neuen Antworten,

Volker
 
Was bedeutet "AuthPGAuthoritative Off"? Ich habe im Netz gesucht (auch in verschiedenen Apache-Dokumentationen), aber keine befriedigende Antwort gefunden. Lasse ich diese Zeile in meiner .htaccess stehen, krieg' ich einen Error 500 zurück. Will wohl mein Provider nicht... :-(

Das gehört zum Modul mod_auth_pg. Wenn es bei dir einen Fehler verursacht, ist dieses Modul nicht in dem Webserver eingebunden und kann daher auch nicht erkannt und genutzt werden.

Und dann noch: Es gibt doch bestimmt einen genauso eleganten Weg, in einer HTML-Datei den angemeldeten Benutzernamen (also den Login-Namen, freilich) auszugeben!??? PHP-Code kann doch direkt in einer HTML-Datei auftauchen, oder geht das nicht?? Gibt's da vieleicht was von Javascript?? Oder kennt HTML eine entsprechende Variable?

JavaScript läuft clientseitig, somit ist es damit nicht möglich. Auch HTML scheidet aus, da HTML einzig eine Beschreibungssprache ist. Den Namen kann man tatsächlich nur mit einer serverseitigen Programmiersprache ausgeben. Also PHP, Perl oder anderes.

Und ja, PHP-Code kann auch mitten in HTML-Code stehen. Die aufgerufene Datei muss jedoch durch den PHP-Parser auch bearbeitet werden, d.h. sie muss (in den meisten Fällen) die Dateiendung .php haben.

Alternativ kann man auch versuchen über einen entsprechenden Eintrag in der htaccess-Datei dem PHP-Parser mitzuteilen, dass er auch .html-Dateien parsen soll.
 
Soweit, so klar, threadi, Danke!

Ich -in meiner unendlichen Naivität was HTML angeht- dachte in einer HTML-Datei an sowas in der Art wie

<p>
Guten Tag, <php>%{REMOTE_USER}</php>...
</p>

Aber das wäre wohl VIEEEEEEEL zu simpel... ooooooder???

Grüße!
 
Nein, das geht nicht. Hätte so geschrieben auch rein gar nichts mit HTML zu tun sondern müsste durch irgendeine Programmiersprache und/oder den Server selbst realisiert werden können. Gibt es aber nicht.
 
Schade, eigentlch.

Zum Abschluss noch mal ein großes Danke an alle für die Hilfe!

Tschüssi, und Danke für den Fisch... :idea: :D
 
Vorausgesetzt der Server wäre so konfiguriert, dass er auch .html Dateien parst, sollte es aber so funktionieren:

<p>Guten Tag, <?= $_SERVER['PHP_AUTH_USER']?></p>

Viele Grüße
/martin
 
Er ist, ich hab's auch schon selbst 'rausgefunden... 8)

Allerdings geht's bei meinem Provider wohl nur über REMOTE_USER, bei PHP_AUTH_USER krieg ich nix zurück.

Ich bin dann mal weg... :-D

Grüße!
 
Zurück
Oben