Wie schützte ich Attachments?
am 29.08.2005 - 15:55 Uhr in
Hallo,
ich hoffe ihr könnt mir weiterhelfen, da ich so langsam an meiner Aufgabenstellung verzweifele. Im Drupal.org-Forum gibt es zwar ähnliche Threads, die mir bislang noch keine Lösung aufgezeigt haben.
Ich verwende das Modul *node_privacy_byrole*, damit ich bestimmte Nodes nur für reg. Benutzer zugänglich machen kann. Das funktioniert auch wunderbar.
Weiterhin verwende ich die Modul-Kombination *attachment* / *filemanager* anstelle des Moduls upload.
Unter admin/settings habe ich folgendes eingestellt (nur die relevanten):
* Clean Urls: enabled
* Cache support: disabled
* File system path: files
* Temporary directory: /tmp
* Download method: Private
Und unter admin/settings/filemanager habe ich folgendes eingestellt (nur die relevanten):
* public file system path: files_public
* Public file system url: http://domain.de/files_public
* Private file system path: files_private
Die Verzeichnisse sind alle angelegt (Berechtigung: 755).
Wenn ich nun eine Seite oder einen Artikel mit einem Attachment anlege, lautet der Link zu der Datei:
http://domain.de/files_public/active/0/datei.endung
Auf diese Datei kann nun jeder zugreifen, obwohl die Seite/der Artikel nur für reg. Benutzer sichtbar ist. Desweiteren wurde die Datei im Ordner files_public anstatt im files_private abgelegt.
Das ganze teste ich z.Z. an einer frischen Installation von Drupal 4.6.3, bei der ich nur die o.g. Module eingebunden habe.
Habt ihr eine Idee, wie ich es einstelle, dass auch die Attachments bei bestimmten Nodes nur für reg. Benutzer einsehbar sind?
- Anmelden oder Registrieren um Kommentare zu schreiben
Wie kann denn das Atachement
am 29.08.2005 - 16:03 Uhr
Wie kann denn das Atachement dem nicht registrierten Nutzer angezeigt sein wenn der gesamte Node nur dem registrierten angezeigt wird?
Der Gast kann doch das Atachement gar nicht sehen, oder verstehe ich dein Posting falsch?
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Beste Grüße, Holger
---
IT-News und IT-Jobs auf w3Projekt.com
Ach das habe ich vergessen
am 29.08.2005 - 16:20 Uhr
Ach das habe ich vergessen zu erwähnen. Der Gast sieht die Seite/den Artikel nicht, aber durch den direkten Link (www.domain.de/files_public/active/0/datei.endung) hat er trotzdem noch Zugriff auf die Datei.
rewrite Regeln anpassen
am 29.08.2005 - 17:02 Uhr
das ist mir auch schon aufgefallen, läßt sich aber nicht ohne weiteres ändern
die "privacy" Regeln von Drupal funktionieren, weil der Benutzer, auch Anonyme, sich ja innerhalb des Drupal Systems bewegen
bei einem direkten Zugriff auf ein existierendes File, sind die Benutzer - normalerweise - nicht innerhalb des Drupal Systems, sondern bekommen halt das File
das ist ja auch wünschenswert, z.B. bei .css oder Bildern für das Theme
mögliche Lösungen
- Drupal - Webserver Auth Modul + eine entsprechende .htaccess für dein /files Verzeichnis
- Files wieder direkt in die Datenbank speichern (altes upload Modul)
- Files bei Drittanbieter speichern, Login-Daten sind nur registrierten Benutzern bekannt (das kann auch ein eigener FTP mit shared User Table sein)
MfG Micha
- work in progress mit Langmi.de
Vielen Dank erstmal für
am 29.08.2005 - 17:38 Uhr
Vielen Dank erstmal für eure Antworten.
Als ich die ersten Schritte mit Drupal gemacht habe, hatte Drupal mal soweit, dass er Datei nach dem Schema files?=datei.endung oder so ähnlich ausgegeben hat. Ich glaube, dass habe ich mit meiner o.g. Modul-Kombination hinbekommen - bin mir da aber nicht mehr sicher, weil ich soviel rum experimentiert habe.
Daher habe ich die Download-Methode (admin/settings) so verstanden, dass Drupal die Datei als Direktlink (domain.de/files/0/datei.endung) liefert - also wo sichtbar ist, in welchem Unterordner von files die Datei abgelegt wurde. Stelle ich die Download-Methode auf privat, liefert Drupal die Datei als files?=datei.endung - wo nicht sichtbar ist, wie die Datei physikalisch abgespeichert wurde.
Mein Wunsch von oben war es daher, dass alle Datei nach dem Schema files?=datei.endung geliefert werden. Dann würde ich den files-Ordner, indem sich die zu schützenden Datei befinden, vor dem direkten Aufrufen schützen.
Ist das evtl. machbar? *hoff*
nicht so einfach
am 29.08.2005 - 17:44 Uhr
das "files?=..." Schema schützt ja nicht vor direkten Zugriffen auf das File, intern passiert nichts anderes, als das Drupal den Zugriff auf das entsprechende File umleitet, ... auf das hätte man - sofern man den Link (oder seinen Browser gut) kennt - auch direkt Zugriff
ein kompletter Schutz scheint mir nur über die "alte" Methode der Speicherung von Dateien in der Datenbank möglich (also kein filemanager etc.) oder halt mittels web_auth Modul und entsprechender Einstellunge des Servers
..ich schau mir das morgen nochmal an, vielleicht gibt drupal.org noch was her
MfG Micha
- work in progress mit Langmi.de
Ups, das war in meinem
am 29.08.2005 - 19:25 Uhr
Ups, das war in meinem letzten Post nicht das beste Deutsch. Das habe ich wohl zu schnell herunter geschrieben.
Dank dir, Micha, schonmal für dein Bemühen. Ich werde mich heute abend mal mit deinen Lösungsansätzen befassen.
Gruß
Christian