Thread Persönliche öffentliche Dateien (7 answers)
Opened by bianca at 2021-06-26 10:36

bianca
 2021-06-26 10:36
#193371 #193371
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
Guten Morgen!

In dieser Frage geht es zunächst um die richtige Strategie. Es gibt einen passwortgeschützten persönlichen Bereich in einer Perl CGI-Webanwendung wo man auch Dateien hochladen kann. Um diese anzuschauen/zu öffnen legt ein Script im Moment des Anklickens die Datei im öffentlichen Bereich des Webservers in ein Unterverzeichnis mit der Session-ID als Name und sendet dem Browser ein HTTP 303 dort hin.

Das mache ich extra so, damit der Browser je nach installierten Komponenten (z. B. PDF-Reader, Office usw. je nach Datei Extension) die Datei direkt in der zugewiesenen lokalen App anzeigt/öffnet und nur im Notfall den hier unerwünschten Download Dialog anzeigt. Stichwort MIME sniffing.

Das ganze Unterverzeichnis wird dann später wieder gelöscht, sobald der User sich abmeldet oder seine max. Anmeldezeit abläuft, Zuordnung über erwähnte Session-ID.

Klappt super!

Aber: die Datei liegt viel zu lange völlig schutzlos in diesem öffentlichen Verzeichnis.
Wie bekomme ich im Script mit, wenn der Browser die Datei fertig geladen hat, damit ich die sofort wieder löschen kann?
Oder kann man sowas wie einen Verzeichnisschutz definieren nur für diesen Benutzer?
Oder kann man die Datei irgend wie zum Browser streamen wie es der Webserver macht? Ich hatte in meinen Versuchen meistens den unerwünschten Download Dialog anstatt die Anzeige der Datei.
Wie würdet ihr das lösen oder habt es vlt. schon mal gelöst?
Auch ganz andere Ansätze würden mich interessieren. Ich kann das oben beschriebene auch komplett verwerfen und gegen eine andere Lösung ersetzen.

Danke für alle Hinweise
10 print "Hallo"
20 goto 10

View full thread Persönliche öffentliche Dateien