Dateisystem Download Methode: private vs. public - Tipps bitte!
am 21.02.2008 - 09:56 Uhr in
Könnte mir jemand bitte ein paar Tipps geben, wie man die Download-Methode des Dateisystems am besten einstellen sollte. Grundsätzlich möchte ich eine möglichst kontrollierte SIte haben, deshalb habe ich mit "private" angefangen.
Allerdings habe ich inzwischen verschiedene Probleme damit gehabt, z.B. meldet der Imagecache modul im Statusbericht, den ich für eine CCK-Bildergallerie brauche und generell zur Bildverarbeitung, dass er nur mit der Einstellung "public" richtig arbeitet. (Und ich denke, ein paar FCK-filemanager-Probleme, die ich hatte, hatten auch damit zu tun, aber das ist nur eine Vermutung)
Es wäre nett, von euch ein paar Hinweise zu erhalten, wofür private/public eigentlich gut ist und welche Vor/Nachteile die eine bzw. andere Methode hat, und zwar rein praktisch (z.B. Imagecache) aber auch aus Sicherheitsaspekten.
Danke für Hinweise!
Noch eine Zusatzfrage:
Wenn ich die Methode von private auf public ändern wollte, welcheKonsequenzen/Arbeit käme genau auf mich zu? Da die Site noch relativ neu ist, sind noch nicht all zu viele Inhalte drin, ein paar Bildergallerien eben, müsste ich da z.b. alle Bildnodes anfassen und Pfade ändern - oder was genau?
(In den Einstellungen wird ja gewarnt, es nur zu machen, wenn man weiss was man tut!)
- Anmelden oder Registrieren um Kommentare zu schreiben
Re: Dateisystem Download Methode: private vs. public - Tipps ...
am 21.02.2008 - 10:35 Uhr
... wofür private/public eigentlich gut ist ...
public: Drupal braucht nicht ausgefgührt werden um Dateien herunterzuladen
private: Drupal kann prüfen ob der Benutzer berechtigt ist. die Datei herunterzuladen
Wenn ich die Methode von private auf public ändern wollte, welcheKonsequenzen/Arbeit käme genau auf mich zu?
Die URLs der Dateien ändern sich. Wenn du irgendwo im Inhaltsbereich
<a href="http://www.example.com/files/example.zip">
notiert hast, dann musst du das nach Änderung auf "private" anpassen.--
Downloadberechtigungen verwalten?
am 21.02.2008 - 12:08 Uhr
Erst mal danke für die Klärung, aber noch eine wichtige Unklarheit habe ich dazu:
Wenn ich auf public ändere (wäre im Moment noch relativ problemlos nach deiner Auskunft), kann ich dann die Berechtigung für den download von Dateien auch sonst noch steuern (z.B. mit Taxonomy Access Control oder über die allgemeine Zugriffskontrolle)?
Meine Fall: private macht etwas Probleme, deshalb will ich vielleicht auf public ändern, aber:
ich habe auch Dokumente, die nur für bestimmte Userrollen gedacht sind. Wenn ich will, dass nur diese berechtigten User (mit der richtigen Rolle) ein best. Dokument herunterladen dürfen, brauche ich dann die private Methode unbedingt für diesen Anwendungsfall oder ist das auch anders steuerbar/verwaltbar?
Danke für Hinweise!
Re: Downloadberechtigungen verwalten?
am 21.02.2008 - 15:06 Uhr
Wenn ich auf public ändere (wäre im Moment noch relativ problemlos nach deiner Auskunft), kann ich dann die Berechtigung für den download von Dateien auch sonst noch steuern ...
Ich hatte ja schon gesagt, das mit der public-Methode Drupal nicht ausgeführt werden brauch, um eine Datei herunterzuladen. Nun ist es tatsächlich auch so, das bei einem Download über die public-Methode Drupal nicht ausgeführt wird. Es ist also egal, wie du was in Drupal konfigurierst.
... brauche ich dann die private Methode unbedingt für diesen Anwendungsfall ...?
Ja.
--
Danke, traxer
am 22.02.2008 - 10:52 Uhr
ich denke , ich hab's nun gecheckt - wenn drupal nicht ausgeführt wird, dann kann's natürlich auch keine Berechtigungen prüfen, egal wie.
Dann werde ich wohl private lassen uund mit imagecache muss ich eine Lösung finden.
Danke für die Hinweise.
Was ist mit der Berechtigung
am 22.02.2008 - 11:15 Uhr
Was ist mit der Berechtigung "Hochgeladene Dateien anschauen" Heißt das wenn man die Berechtigung nicht hat, das man es nicht sieht (Anhang) aber wenn man Pfad zur Datei direkt aufruft, die Datei erhält?
----------------------------------------
Alle Angaben ohne Gewähr!!:D
http://www.tobiasbaehr.de/
Re: Was ist mit der Berechtigung
am 23.02.2008 - 10:16 Uhr
... wenn man Pfad zur Datei direkt aufruft, die Datei erhält?
Das sollte eigentlich nicht möglich sein. Wenn das funktioniert, dann hast du ein Problem mit
.htaccess
.--
Ich hab dl auf privat wegen
am 23.02.2008 - 10:46 Uhr
Ich hab dl auf privat wegen download counter, die Berechtigung(Upload Modul) ist wohl erst wirksam wenn man auf privat hat!
----------------------------------------
Alle Angaben ohne Gewähr!!:D
http://www.tobiasbaehr.de/
Anbei sei noch darauf hin
am 23.02.2008 - 12:35 Uhr
Anbei sei noch darauf hin gewiesen das man Dateien downloaden kann selbst wenn sie von Drupal verwaltet werden.
Es ist also kein echter Schutz.
Möchtest du also Dokumente anbieten die wirklich nur einer bestimmten Benutzergruppe zugänglich sein sollen, dann musst du dir etwas anderes einfallen lassen. z.b extra Verzeichnis und das mit der .htaccess schützen.
Drupal die Dateien verwalten zu lassen klingt zwar gut aber mann kommt immer auch so an die Files. Desweiteren bringt ja auch bekanntlich Probleme mit einigen Modulen mit sich. Deswegen verzichte ich immer auf die Verwaltung der Downloads durch Drupal.
Und einen "Download-Count" erkennt man auch durch die Apache Logs ;).
Das gilt aber nicht für die
am 23.02.2008 - 13:09 Uhr
Das gilt aber nicht für die Download Methode "private". Wenn man bei Dir trotz dieser eingestellten Downloadmethode an die Dateien kommt, dann stimmt was an Deiner Webserver/Drupal Konfiguration nicht.
--
bv - drupalcenter.de
Ich habe es mal eben
am 23.02.2008 - 13:22 Uhr
Ich habe es mal eben angetestet. Frische Drupal6 Instllation, download Methode auf Private getsellt.
wget mydoamin.de/sites/default/files/test.zip
--13:16:18-- http://mydomain.de/sites/default/files/test.zip
=> `test.zip'
Resolving mmydoamin... myIP
Connecting to mydoamin.de|myip|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [application/zip]
[ <=> ] 0 --.--K/s
13:16:18 (0.00 B/s) - `test.zip' saved [0/0]
Also sobald mir der Dateiname bekannt ist komm ich an die Files.
Deswegen ja auch mein Hinweis. Sollen Files geschützt werden an die wirklich nur $User kommen soll dann muss eine andere Lösung her.
Oder hab ich etwas falsch gemacht????
Ich hab es auch getestet
am 23.02.2008 - 14:28 Uhr
Ich hab es auch getestet normaler Pfad ist mydoamin.de/files/test.zip (Bei d5)!
nach Umstellung auf privat ist der Pfad anders mydoamin.de/system/files/test.zip!
Versuche es nochmal mit einen anderen Browser! und nicht eingeloggt(als admin)!
----------------------------------------
Alle Angaben ohne Gewähr!!:D
http://www.tobiasbaehr.de/
Hier steht's wie's geht:
am 23.02.2008 - 14:57 Uhr
Hier steht's wie's geht: http://drupal.org/node/22240
Ausschlaggebend ist das hier:
Please note that if you set your download method as private, you should set your "files" directory to be outside the document root for your drupal installation (i.e. not in your_drupal_site/files or your_drupal/site/sites/all/files). The private download method also has performance implications which you may want to consider.
Der Trick ist es also ein Download-Verzeichnis anzulegen, das außerhalb der Webroot-Struktur liegt.
--
bv - drupalcenter.de
Spartacus schrieb Versuche
am 23.02.2008 - 15:49 Uhr
Versuche es nochmal mit einen anderen Browser! und nicht eingeloggt(als admin)!
Ich habs ohne Admin mit wget versucht. Der Client dürfte ja egal sein.
Den Trick mit dem extra DownloadVerzeichnis sehe ich mir nacher mal an. Klingt interessant. Vieleicht wird so die private Methode so interessant für mich. Nachtei ist immer noch das einige Module zugriff auf das DL-Verzeichnis benötigen.
Trotzdem bleib ich bei der Meinung das das DL-Verzeich per default unsicher ist ;).
Drupal sollte genauer darauf hinweisen und die Instruktionen für ein sicheres DL-verzeichnis anbieten.
Ja, da kann ich nur
am 23.02.2008 - 23:26 Uhr
Ja, da kann ich nur zustimmen,
aber danke für all die Beiträge, ich sehe jetzt etwas klarer. Mein VErzeichnis war übrigens schon ausserhalb root, darauf weist ja der Hilfetext von drupal immerhin hin.
Wie kann ich denn den Pfad
am 24.02.2008 - 01:27 Uhr
Wie kann ich denn den Pfad angeben, wenn er außerhalb vom root liegt? Oder meint ihr außerhalb vom drupalroot nicht den "htdocs" o.ä.?Selbst dann muss ich dann eine Subdomain anlegen der dann auf der höhereren ebene zeigt?
----------------------------------------
Alle Angaben ohne Gewähr!!:D
http://www.tobiasbaehr.de/
Re: Wie kann ich denn den Pfad
am 24.02.2008 - 13:49 Uhr
nach Umstellung auf privat ist der Pfad anders mydoamin.de/system/files/test.zip!
Welche URL Drupal anbietet um die Datei herunterzuladen ist nebensächlich. Ausschlaggebend ist, das die Datei unter Umgehung von Sicherheitsmechanismen von einer anderen URL heruntergeladen werden kann.
Wie kann ich denn den Pfad angeben, wenn er außerhalb vom root liegt?
So wie du jeden anderen Pfad im Dateisystem angibst. Unter Windows
C:\Wamp\files\drupal
, unter Unix/home/www/files/drupal
Konkret kann dir nur dein Hoster beantworten, ob und wie du Dateien außerhalb deines DocumentRoot (a.k.a "htdocs") ablegst.
--
Dieses Verzeichnis muss
am 18.10.2008 - 21:38 Uhr
Dieses Verzeichnis muss nicht ausserhalb der Webordners liegen.
Du musst einfach dem Apache-Webserver per .htaccess (deny from all) nur verbieten darauf zuzugreifen. Drupal liefert die Datei über das Dateisystem des Server-Betreibssystems aus. Und da ein direkter Zugriff über den Webserver verboten ist, funktioniert das eigendlich ganz gut.
Es gibt auch ein Modul, mitwelchem man einzelne Downloads auf Privat setzten kann. Dieses Modul legt innerhalb des Verzeichnis files ein Verzeichnis "private" an und schützt dieses durch eine .htaccess.
http://drupal.org/project/private_upload
--------
Active-Media-Production
Individual Web Development and Design