Dateizugriff nur für authentifizierte Benutzer

  • Hallo *.*,

    eigentlich bin ich nicht der "Fragensteller", aber warscheinlich bin ich heute mal am Holzweg - oder das was ich will, gibt es nicht.

    Also:
    Fakt ist, dass es auf einer Website einen öffentlichen und einen privaten bereich gibt. Die User können sich mit Benutzername und Passwort anmelden.

    Jetzt möchte ich, dass sich NUR die angemeldeten Benutzer diverse Dateien downloaden können.

    Einmal geht es um PDF-Dateien - diese kann ich mit dem Header-Befehl an den Browser senden - das klappt soweit auch.

    Aber mein Problem liegt in den Videos :(

    Flash *.flv-Dateien und/oder auch *.swf-Dateien müssen vor unberechtigen Zugriffen geschützt werden.

    Nun ja - mir steht ein Confixx-Server sowie ein Debian-Server (damit kann ich machen, was ich will) zur Verfügung.

    ---
    Der erste Lösungsansatz war, dass ich die flv-Dateien mit einem absoluten Pfad auf dem Server ansprechen wollte.

    /var/www = öffentliches Verzeichniss
    /var/files = nicht-öffentliches Verzeichniss

    Mit "../files/videos/xy.swf (oder .flv)" scheint das wohl leider nicht zu funktionieren :(

    ---
    Die zweite Idee war, dass ich ein Verzeichniss per .htaccess schütze (bsp. /var/www/secure) .... aber dann kann ich meinen per PHP/MySQL authentifizierten User nicht direkt da drauf leiten. Dann muss derjenige nochmal bestimmte Zugangsdaten eingeben - das kommt leider nicht in Frage.

    ---

    Nachdem ich nun auch nochmals 3h mit Goggle & Co. verbracht habe, muss ich leider aufgeben.

    Bin ich auf dem Holzweg? Gibt es überhaupt eine Lösung hierfür? Oder sehe ich den Wald vor lauter Bäumen nicht?

    Sorry, aber ich komme leider nicht mehr weiter :(
    Kann mir jemand einen Lösungsansatz oder (noch besser) eine fertige Lösung anbieten?

    Gruß, Oliver

  • Den momentanen User (nach http-login) bekommst du mit $_SERVER['PHP_AUTH_USER'] und das Passwort mit $_SERVER['PHP_AUTH_PW'].

    vielleicht hilft dir das ja ein wenig ?
    Kannst ja quasy nen login aufrufen und dann in ne php script den loginstatus prüfen.
    direkt linken kannst du dann auf die file :

    Code
    http://username:passwort @ url.tld/file.endung


    Ich meld mich wenn ich morgen wieder klar denken kann nochmal ;)

    Jeder hat das Recht dumm zu sein. Einige mißbrauchen dieses Recht leider ständig!
    Weder meine ICQ-Nummer noch meine MSN-Adresse oder meine eMailadresse sind für Bestellungen, Sponsoringanfragen oder Support !

    ploppGROUP Internetservices - IT-Partner für Geschäfts-/Großkunden
    mit Rechenzentren in Berlin, Hannover und bald auch FFM

  • ähm IsaBerlin, du solltest dir deine Postings auch nach einem Edit nochmal anschauen...

    Wenn es nur darum geht die Daten zu schützen würde ich dir empfehlen auf nen Script zu verlinken, dass dann die entsprechenden Dateien weitergibt.
    wenn du erreichen willst, dass dieser link exakt einmal gültig ist musst du eine MYsql Tabelle für Objekt | Keygen machen und bei jedem neuen Dateidownload nen extra key erzeugen lassen. In der Methode kannst du dann auch gleich deine Authentifizierung mit einbauen..

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ