Michael Schröpl: Download Stream?

Beitrag lesen

ich würde gerne die genaue URL einer datei vor den usern verstecken. zwar gibt es möglichkeiten über z.B. "mydownload.cgi?file=datei.zip" oder gar mit "mydownload.cgi?id=737895" aber im Endeffekt wird spätestens beim Download die URL bekanntgegeben, da die CGI-Datei bestenfalls weiterleitet.

Wenn sie das tut, dann ist CGI m. E. überflüssig (bzw. dient lediglich dazu, den Download für statistische Zwecke zu protokollieren, falls der Anbieter z. B. keinen Zugriff auf das Log des Webservers hat oder so).

Doch irgendwann ist mir die Technik aufgefallen, die von FreeDrive (http://www.freedrive.com/) verwendet wird. Der User muss sich dazu einloggen und kann erst dann auf die Dateien zugreifen. Da FreeDrive den Script sehr geschickt versteckt hat, war es mir nicht möglich, den Aufruf rauszufinden :)

Was genau verstehst Du unter "einloggen"? Vielleicht war es gar kein Skript (http://www.teamone.de/selfaktuell/artikel/schroepl01.htm).

Sobald man einen Link anklickt, kommt keine ganze Datei zurück, sondern eine Art "Stream", was beim Download folgendermaßen aussieht:
octet-stream&parameter=xyz&nocheinparameter=abc&...
Ich nehme an, es wird ein Server-Side-Script aufgerufen und liest die Datei "intern" ein, schickt an den Client nur einen Stream (kleine Datenpakete?) zurück und versteckt damit sicher die Quelle der Datei.

Völlig überflüssig.

Leider bin ich ein miserabler CGI Programmierer, denke aber, das sowas - wenn überhaupt - dann mit CGI geht.

  • Datei öffnen   (1 Befehl in Perl)
  • Datei einlesen (1 Befehl in Perl)
  • Datei ausgeben (1-2 Zeilen in Perl)
    Fertig ist die Laube.

Die Datei kann - und sollte! - dann sogar außerhalb des Dokumentbaums liegen. Dann ist "ihr URL" nicht nur unsichtbar, sondern es gibt gar keinen solchen.

Falls ja, gibt es irgendwo ein fertiges Programm?
Alternativ (ggf. sogar noch besser! :) Können Sie mir auch eine PHP3-Lösung vorschlagen... Mit reinen CGI-Befehlen komme ich wohl nicht weit...

?!!? CGI ist eine Schnittstelle, PHP ist eine Sprache ...