wuelf: downloads per login ermöglichen?

hallo,
ich hoffe hie kann mir jemand helfen.
ich möchte dateien zum download bereitstellen, allerdings sollen nur bestimmte registrierte personen bestimmte dateien downloaden können. also person x soll nach login datei 1, 5 und 7 downloaden können und person y datei 2, 4 und 9 usw. dabei sollen alle dateien in einem ordner liegen und ich möchte ein webinterface einrichten mit dem ich problemlos jederzeit neue nutzer eintragen und deren download-rechte bestimmen und verändern kann.
wie könnte das gehen ? ich habe bisher wenig ahnung von cgi´s, php und so, bin aber recht fit in html und flash(incl. action script)
ich suche nach einer recht simplen lösung, die sicherheits-anforderungen sind eher gering.
ich habe darüber nachgedacht es mit einer mysql db zurealisieren in der name, login und links zu den dateien gespeichert sind, aber jeder halbwegs schlaue mensch kann dann den ordner direkt öffnen und downloaden was er will, so einfach sollte es nicht sein.
ich hoffe jemand ist gewillt mir zu helfen,
danke
wuelf

  1. hi!

    ich möchte dateien zum download bereitstellen, allerdings sollen
    nur bestimmte registrierte personen bestimmte dateien downloaden
    können.

    Ich gehe davon aus, dass deine Benutzer sich schon irgendwie zu
    erkennen gegeben haben, entweder über .htaccess oder eine beliebige
    andere Login-Methode.

    Das Anzeigen des Verzeichnis-Inhalts kannst du über eine Einstellung
    des Webservers verhindern, zb. durch einen Eintrag in der .htaccess.
    "Options -Indexes" müsste dort weiterhelfen. Dann können deine
    Besucher schonmal die fremden Dateien nicht runterladen, wenn sie
    den Dateinamen nicht kennen. In diesem Fall könntest du also die von
    dir bereits genannte Lösung oder eine vergleichbare verwenden, indem
    du einfach die Links ausgibst oder die Leute per Location:-Header
    umleitest, was es für Laien noch etwas schwieriger macht, den Link
    einfach weiter zu geben.

    Das Anzeigen des Verzeichnis-Inhalts kannst du übrigens auch ohne
    den Weg über die Server-Konfiguration verhindern, indem du einfach
    eine index.html-Datei[1] in das Verzeichnis legst.

    Falls die Gefahr besteht, dass die Leute untereinander die Dateinamen
    austauschen, könntest du zb. jede Datei in ein eigenes Verzeichnis
    legen und für jedes dieser Verzeichnisse eine .htaccess anlegen, die
    regelt, welcher Benutzer auf das entsprechende Verzeichnis zugreifen
    kann.

    Ist eine .htaccess-Lösung auch nicht möglich, kannst du auch die
    Binär-Dateien direkt von einem CGI-Skript ausgeben lassen, das vorher
    den Benutzer überprüft. Den richtigen Dateinamen erhälst du, indem
    du diesen einfach als PATH_INFO an die Skript-URL anhängst. Das
    könnte zb. so aussehen:

    http://www.server.de/cgi-bin/skript.cgi/datei.zip

    Das CGI-Skript müsste dann nur noch die Daten direkt aus der Binär-
    Datei lesen -- im Binärmodus natürlich -- und diese mit geeignetem
    HTTP-Header -- Content-type: application/octet-stream vermutlich --
    an den Browser weitersenden.

    bye, Frank!

    [1] index.html steht in diesem Fall stellvertretend für beliebige
        mögliche DirectoryIndex-Dateien.