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
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").
Hallo mdlc,
wenn du nicht sicher bist, hast du es denn schon mal getestet?
Wenn ja, schreib doch bitte mal was dazu.
Gruß
Andrea
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-
Hallo ThaWurm,
hast du eine Idee oder gar Lösung dazu?
Gruß
Andrea
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
Klingt gar nicht gut und schreckt echt ab.
Gruß
Andrea
Hi,
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
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)
-
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
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
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
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
Hallo, Lulatsch,
superklasse!!!! Vielen, vielen Dank. Werde wohl erst in ein paar Wochen dazu kommen, aber mit dem Ansatz kann ich schon mal rumexperimentieren.
An einen Zufallsstring habe ich gar nicht gedacht...
Und dass das Ansteuern von Unix klappt. Super.
Vielen Dank!
Falk