[TYPO3-german] Datei mit Passwort schützen - ohne naw_securedl
Rainer Schleevoigt
rainer at webmasterei-hamburg.de
Tue Mar 12 18:09:52 CET 2013
Am 3/12/13 5:58 PM, schrieb Stephan Schuler:
> Hallo Leo
>
>
> Rainer hat zunächst mal Recht: Nicht jeglicher Dateitransfair wird durch PHP geschickt sondern das musst du erst mal konfigurieren. Wenn ich mich da richtig erinnere musst du hierzu ganz einfach selbst in deine .htaccess-Datei schreiben, welchen Ordner du gerne geschützt haben möchtest. Dadurch lässt sich das sowohl auf einige Ordner des Fileadmins als auch auf bestimmte Extension-Upload-Folder beschränken.
Entweder der Server liefert direkt aus oder ruft eine cgi-script/modul
auf. Das wiederum könnte einen Redirect machen oder liefert selber über
stdout aus. letzteres ist das Standardprocedere bei PHP.
>
> Wenn naw_securedl die Datei einfach per "readfile" einließt ist der Performanceeinbruch durch erhöhten Speicherbedarf moderat. Trotzdem liegt der Dateioutput im PHP-Output-Puffer, du könntest die Datei also mit ob_get_contents abfangen und ansehen. Das will zwar keiner, zeigt aber, dass Speicher an einer Stelle belegt wird wo man ihn eigentlich nicht braucht.
Es ist nicht nur der Speicherverbrauch, es ist auch die Prozesslaufzeit.
Falls der Client extrem langsam ist (Modem), dann wird der Prozess so
lange offengehalten, bis alles raus ist.
> Ich lese die Datei deshalb nicht mit readfile ein sondern schicke einfach den HTTP-Header "X-Sendfile" mit der der den absoluten Pfad der Datei im Dateisystem enthält. In meinem Apache habe ich das zugehörige Modul "xsendfile" aktiviert. Das schneidet den Header wieder raus und gibt stattdessen die Datei aus. Ein entsprechender Content-Type-Header sowie die passende Content-Length fügt das Modul selbständig hinzu.
Das mit dem X-Sendfile war neu für mich. Danke für die Inspiration.
> Bei kleinen Dateien ist natürlich weiterhin für jede Datei ein weiterer PHP-Prozess der erkennbar limitierende Faktor. Der läuft für wenige ms und braucht in dieser Zeit etwas CPU und etwas Speicher. Mit zunehmender Dateigröße aber spielt das keine Rolle mehr.
>
Einsatz solcher Eingriffe in den Server widerläuft m.E.ei wenig der
Philosophie eines Frameworkes/CMS, es soll ja unabhängig der Umgebung
laufen.
Aber manchmnal gehte es nicht anders. ;-))
Gruß Rainer
--
Rainer Schleevoigt
Medientechnik // eLearning
Universität Hamburg
Dekanat der Fakultät für Mathematik,
Informatik und Naturwissenschaften
Rothenbaumchaussee 19
20146 Hamburg
Tel. +49 040 42838 9598
eMail rainer.schleevoigt at uni-hamburg.de
http://www.min.uni-hamburg.de/eLearning
_______________________________________________
Lecture2Go Team
http://lecture2go.uni-hamburg.de
More information about the TYPO3-german
mailing list