Zum Inhalt springen

Geschützte Downloads (Fileadmin)

Erstellt am 26. Januar 2006 · 20 Antworten · letzte Antwort am 2. Februar 2006 · Seite 1 von 2

Tags: Frage

ThaWurm ·

Hallo,

mit der NewLoginBox-Extension lassen sich Typo3-Php-Seiten wunderbar schützen.

Wie kann ich jedoch die in diesen geschützten Bereichen verlinkten Downloads(Fileadmin) ebenfalls schützen?
Die Downloads liegen im Fileadmin, und der bietet keine mir bekannte Möglichkeit die einzelnen Ordner oder Dateien auf eine Typo3-Fe-Gruppe einzuschränken.

(Oft sind es ja gerade diese Downloads, die schützenswert wären...) -

vielen Dank im vorraus-

Andrea_Herzog ·

Ich weiß nicht genau was du meinst.

Wenn ich das richtig verstehe, willst du, dass bestimmte Benutergruppen bestimmte Dateien sehen oder nicht sehen bzw. dann auch downloaden können.

Zum einen:
Die Seite, auf der die Dateien zur Verfügung stehen, kannst du einer Benutzergruppe zuordnen. Dann können eben nur diese User an die Seite.

zum anderen:
Wenn du eine Seite mit Downloads hast, auf die prinzipiell jeder zugreifen darf - aber eben nicht alle Dateien herunterladen darf, dann kannst du dieses Contentelement einer Gruppe zuordnen. Das sieht dann nur die Gruppe.

Hilft das?

Gruß
Andrea

ThaWurm ·

Hallo Andrea,

danke für die schnelle Antwort.-

Um mein Problem zu konkretisieren:
Eine Datei die im Fileadmin abgelegt ist, kann trotzdem, dass die geschützte PHP-Seite, auf der sie referenziert ist heruntergeladen werden, wenn man den Pfad weiß.

Klar ist, dass die Referenz nicht sichtbar ist, da ja die Parent-Seite selbst geschützt ist, der Download selber ist aber via HTTP ohne jegliche Authentifizierung erreichbar, wenn ich diesen im Browser direkt eingeben.

Andrea_Herzog ·

Hallo ThaWurm,

ich habe das bei mir geprüft. Geht definitiv nicht.

Ich habe eine Seite, auf der man sich einloggen muss. Die Unterseiten sind geschützt. Egal, welche PID aus dem geschützten Bereich ich auch angebe, ich lande immer nur auf der Seite mit dem Login.

Ich verwende auf einigen Seiten das Standard-Login, auf einigen die NewLoginBox.
Aber an die geschützten Seite kommt keiner so ohne weiteres ran.
Hast du:
Inklusive Unterseiten (rekursiv) im Content eingetragen?
Hast du unter Zugriff die richtigen Angaben zu Zugriff etc. gemacht?

Mehr fällt mir im Moment nicht ein.

Hilft das?

Gruß
Andrea

FalkWalter ·

Servus,

hier im Forum ging schon mal ein Tipp für eine Extension rum... ich glaub, es war die: http://typo3.org/extensions/repository/search/fw_filer/
könnte mir halt vorstellen, dass es Schwierigkeiten bei größeren Dokumenten geben könnte.

Vielleicht passt bei Dir auch: http://typo3.org/extensions/repository/categories/Collaboration/moc_filemanager/

Oder hast Du etwas bessers gefunden?

Kann man, wie Andrea beschrieben hat, wirklich nicht direkt per URL auf die Dateien zugreifen?

Grüßle
Falk

Andrea_Herzog ·

Hallo Falk,

Ich habe einen geschützten Bereich mit ziemlich vielen Downloads und die sind z. T. auch ordentlich groß.

Über die direkte URL kommt man definitiv nicht auf die Seite. Man kommt, wenn man die Seite aufruft (die mit den Geheimnissen) immer nur bis zur Login-Seite. Steht also quasi vor der Tür und nix geht mehr.
So soll es sein.

Gruß
Andrea

FalkWalter ·

Hallo, Andrea,

ich glaube, wir verstehen uns falsch.

Es geht nicht um die Seite sondern um die Dateien.

Wenn ich Dateien habe,

- die wirklich nur intern verwendet werden sollen,
- die ich im fileadmin/ - Pfad ablege,
- die nur in geschützten Bereichen angezeigt bzw. zum Download angeboten werden,

kann ich die von außen durch den Eingabe des Pfads z. B. "http://meinServer.de/fileadmin/interneDoks/dasWichtigsteBetriebsgeheimnis.pdf"
aufrufen oder nicht?

Die Sache ist bei mir noch nicht wirklich dringend, aber in zwei Wochen wirds soweit sein. Und da Menschen es schaffen, 70MB-Powerpoint-Präsentationen zu erstellen, mache ich mir da ernsthafte Sorgen...

Grüßle
Falk

Andrea_Herzog ·

Hallo Falk,
stimmt, wir hatten uns missverstanden.
Du hast absolut recht. Wenn ich den Pfad kenne, dann kann ich an die Datei.
Ist ein echtes Problem. Wenn ich den Dateipfad und den Dateinamen kenne, dann kann ich an alles ran.

Ich bin jetzt etwas daneben. Denn das sollte natürlich nicht funktionieren.
Ich habe aber keine Idee dazu.

Das Problem ist ja nicht ganz klein.
Selbst wenn ich einen Ordner mit "Geheimdokumenten" schützen könnte, dann muss immer noch gewährleistet sein, dass die Redakteure ihre Sachen auch dort ablegen und nicht einfach irgendwo ablegen. Ansonsten müsste man alle Ordner irgendwie schützen können oder zu einem Abbruch führen, wenn eine bestimmte URL aufgerufen wird.

Keine Ahnung. Mache mich aber mal schlau.

Gruß
Andrea

mdlc ·

Bin mir zwar nicht sicher, ob das geht, aber prinzipiell kann man es ja auch mit htaccess schützen (zumindest den "großen Datenklau von Extern").

Andrea_Herzog ·

Hallo mdlc,

wenn du nicht sicher bist, hast du es denn schon mal getestet?
Wenn ja, schreib doch bitte mal was dazu.
Gruß
Andrea

ThaWurm ·

Hey,

mit htaccess kannst es immer schützen - das Problem ist nur, dass du mit htaccess keine Typo3-BE-Gruppen ansprechen kannst - ist also nicht wirklich elegant.

mfg-

FalkWalter ·

hmmmmmmmmm, man müsste als alle FE- und BE-Gruppen aus Typo3 exportieren und in ne .htusers und .htgroups schreiben... zudem sollte man wohl noch die .htaccess aus Typo3 aus verändern können...

Nur mal so als Idee/Abschreckung...

Falk

lulatsch ·

Hi,

FalkWalter schrieb

Wenn ich Dateien habe,

- die wirklich nur intern verwendet werden sollen,
- die ich im fileadmin/ - Pfad ablege,
- die nur in geschützten Bereichen angezeigt bzw. zum Download angeboten werden,

kann ich die von außen durch den Eingabe des Pfads z. B. "http://meinServer.de/fileadmin/interneDoks/dasWichtigsteBetriebsgeheimnis.pdf"
aufrufen oder nicht?

das Problem taucht ja hin und wieder im Forum auf, nur hat scheinbar noch keiner wirklich eine Lösung.

Zwei prinzipielle Varianten könnte ich mir vorstellen:

a) die Dateien als Blob in der DB ablegen, da kann man ja nur aus Typo heraus drauf zugreifen

b) sobald man auf einer geschützten Seite angemeldet ist und auf eine Datei zugreifen will, erzeugt Typo z. B. in /fileadmin/downloads ein link auf diese Datei (die in einem per htaccess geschützten Bereich des Filesystems außerhalb /fileadmin/downloads liegt); sobald die Abmeldung erfolgt werden die links wieder gelöscht

Für beide Varianten wäre sicher eine Erweiterung zu programmieren, aber ich könnte mir vorstellen, dass das realisiert werden kann. Voraussetzung wäre hier allerdings ein Unix-basiertes System, damit das mit den Softlinks klappt.

Gegen Variante a) spricht natürlich ggf. die Dateigröße, aber evtl. kann man dafür ja nicht die Typo-DB, sondern vielleicht eine extra DB verwenden.

Variante b) wäre sicher einfacher zu realisieren, und die meisten Webserver dürften zur Zeit eh' auf Unix-Basis laufen. Ob das unter Windows mit den links irgendwie zu realisieren wäre, bliebe zu untersuchen. Unter Unix/Linux könnte man sich sogar schon abmelden (und damit den link löschen), während der Download noch läuft: der link ist erst dann wirklich weg, wenn keiner mehr drauf zugreift.

lulatsch

ThaWurm ·

He lutlatsch,

wenn man mit den Typo3-BE-Usern und Gruppen konsistent bleiben will, klappt ohnehin nur Variante a) - wie würde man mit .htaccess die Berechtigungen am evident zu halten (manuell?)...

und für Variante a) gibts auch bereits eine Extension (fw_filer - http://typo3.org/extensions/repository/search/fw_filer/) die iW das macht, was du angedeutet hast (Files in DB ablegen)
-

FalkWalter ·

Servus,

ja, aber halt die Dateigröße macht mir bei Variante a) Sorgen. Leider schaffen es Leute halt immer wieder, 50 MB große Word Dokumente und sogar 70 MB Powerpoint Präsentationen zu erstellen (das soll bei mir mit Hilfe von Typo3 zwar besser werden, aber...).

Deshalb die Idee mit htaccess. Leider kenne ich mich mit Unix nicht gut aus (outing :o ). Daher fällt bei mir Variante b) wohl vorerst flach (das Prinzip der Symlinks ist aber total genial - warum kann das Windows nicht?)

Grüßle
Falk

lulatsch ·

Hi,

ThaWurm schrieb

wenn man mit den Typo3-BE-Usern und Gruppen konsistent bleiben will, klappt ohnehin nur Variante a) - wie würde man mit .htaccess die Berechtigungen am evident zu halten (manuell?)...

an deiner Antwort sehe ich, dass du die meine nicht verstanden hast oder ich mich nicht klar genug ausgedrückt habe 🙁

Bei meiner Variante b) braucht man eben nicht die Benutzer/Passwörter in die .htaccess schreiben. Beispiel:

/mein/datei/verzeichnis/
wird so geschützt, dass von außen kein Zugriff darauf möglich ist (geht z. B. mit .htaccess); hier befindet sich die Datei mein-download.zip
/fileadmin/downloads/
ist normalerweise leer

Wenn ein Nutzer sich anmeldet und auf die Seite mit dem link zu "mein-download.zip" geht, wird in /fileadmin/downloads ein link erzeugt zu
/mein/datei/verzeichnis/mein-download.zip
Das unix-kommando dazu könnte z. B. sein:

ln -s /mein/datei/verzeichnis/mein-download.zip /fileadmin/downloads/mein-download.zip

Also kann der Nutzer jetzt auf den link zu
...servername/fileadmin/downloads/mein-download.zip
klicken. Sobald er sich abmeldet, wird der link
wieder gelöscht

rm /fileadmin/downloads/mein-download.zip

Dabei wird aber eben nur der link wieder gelöscht und nicht die eigentliche Datei, und
nur solange der Nutzer angemeldet ist existiert der Zugriff von außen darauf.

ThaWurm schrieb

und für Variante a) gibts auch bereits eine Extension (fw_filer

Ok, schau' ich mir mal an, wäre vielleicht ganz interessant.

FalkWalter schrieb

(das Prinzip der Symlinks ist aber total genial - warum kann das Windows nicht?)

Das käme auf den Versuch an - siehe hier: http://www.it-administrator.de/aktuell/13628.html
Demnach müßte man mit dem ln Kommando aus dem Ressource-Kit den gleichen Effekt unter Windows erzielen können, was ja so eine Extension schon wieder etwas näher rückt ...

lulatsch

FalkWalter ·

Hallo, Lulatsch,

danke für Deine Klarstellung! Wie gesagt, ich bezüglich Unix nicht so bewandert... Daher super, dass Du es mir so erklärt hast.

Der Ansatz hört sich vielversprechend an. Nur habe ich da zwei Fragen:

1) Wenn der user eingeloggt ist und auf der Seite mit dem Link auf das Dokument ist, wird der Link erzeugt. Wenn er sich abmeldet (vielleicht auch, wenn er nicht mehr auf der Seite verweilt), wird der Link wieder gelöscht. Ok.
Bedeutet dann das, dass in dieser Zeit ein Fremder nicht auch den Link benutzen könnte? Bei einer Seite mit hohem Usertraffic wäre der Link dann ja dauernd verfügbar.
(Bitte nicht hauen, wenn die Frage jetzt etwas blauäugig war 😃 )

2) Kann ich mit PHP in dem UNIX-System eingreifen, sprich Deine erwähnten Befehle kommunizieren? Mit meinen bescheidenen Kenntnissen kommuniziere ich bei solchen Operationen über ne Shell.

Grüßle
Falk

lulatsch ·

Hi Falk,

freut mich, wenn ich helfen kann.

FalkWalter schrieb

Bedeutet dann das, dass in dieser Zeit ein Fremder nicht auch den Link benutzen könnte? Bei einer Seite mit hohem Usertraffic wäre der Link dann ja dauernd verfügbar.

Jein. Man könnte sicher für jeden Zugriff eine Zufallszahl oder Zeitstempel oder sowas in den link einbauen. Aber es stimmt insofern, wenn jemand zur gleichen Zeit auf den link zugreift wie der Nutzer, hindert ihn niemand. Aber genausowenig kann man ausschliessen, dass z. B. bei Verwendung eines Proxy-Servers die Datei dort zwischengespeichert wird und jemand die dort aus dem Cache holt, wenn er den link kennt.

Wenn die Dateien aber tatsächlich derartig geheim sind, dann hilft eigentlich nur noch eine Verschlüsselung der Dateien z. B. per GPG mit dem Public Key des Empfängers, dann sind alle Eventualitäten ausgeschlossen.

FalkWalter schrieb

2) Kann ich mit PHP in dem UNIX-System eingreifen, sprich Deine erwähnten Befehle kommunizieren? Mit meinen bescheidenen Kenntnissen kommuniziere ich bei solchen Operationen über ne Shell.

Ja, über den system() Befehl von php läßt sich sowas ausführen, aber es geht auch damit:
http://www.php.net/symlink
Und so bekommt man die Datei bzw. den link wieder weg:
http://www.php.net/unlink

Viele Grüße
Falko