Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

private Files Verzeichnis und dazu passende .htaccess Datei

Eingetragen von Dorothea_Z (193)
am 28.04.2024 - 19:44 Uhr in
  • Anfängerfragen
  • Drupal 9.x oder neuer

Hallo zusammen,
Unter drupal10.x bekam ich den Hinweis, dass es kein private File Verzeichnis gibt und eine mögliche Lösung (es unter sites/default/files/private) zu erstellen. Soweit alles klar. Dann aber kam eine Fehlermeldung dass die passende .htaccess Datei fehlt samt Hinweis - aber der bezog sich auf SA-CORE-2013-003 und eine drupal6 oder drupal7 Version. Ich habe die drupal7 Version genommen, weil ich nichts im Blick auf drupal10 fand - aber die Fehlermeldung bezüglich .htaccess kommt weiterhin.
Wie muss der Inhalt der entsprechenden .htaccess Datei lauten, wenn ich drupal10 verwende und das Verzeichnis oben verwende?
Danke für Hinweise!
LG
D.

‹ Content Typ 1;2 und 3 in Abhängigkeit zu Content Typ 4 und 5, zur anzeige kommen lassen [gelöst] Updb-Befehl geht nicht - weil falsche PHP-Version ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Dorothea,private files

Eingetragen von Thomas Gleitz (54)
am 29.04.2024 - 07:47 Uhr

Hallo Dorothea,
private files sollten außerhalb der Drupal-Dateiablage sein, also nicht im sites-Verzeichnis.
Die htaccess-Datei funktioniert mit diesem Inhalt:

# Deny all requests from Apache 2.4+.
<IfModule mod_authz_core.c>
  Require all denied
</IfModule>

# Deny all requests from Apache 2.0-2.2.
<IfModule !mod_authz_core.c>
  Deny from all
</IfModule>

# Turn off all options we don't need.
Options -Indexes -ExecCGI -Includes -MultiViews

# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
<Files *>
  # Override the handler again if we're run later in the evaluation list.
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
</Files>

# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php.c>
  php_flag engine off
</IfModule>

Dazu musst du dann noch die Datei /sites/default/settings.php ändern:
* Private file path:
*/
$settings['file_private_path'] = 'Dein Pfad';

  • Anmelden oder Registrieren um Kommentare zu schreiben

das funktioniert bislang

Eingetragen von Dorothea_Z (193)
am 29.04.2024 - 08:45 Uhr

leider nicht - im Gegenteil, nun kommen zwei Fehlermeldungen: drupal findet das Verzeichnis nicht und behauptet, private Files seien nicht ausreichend geschützt.
Vielleicht liegt es am shared hosting, dass ich irgendwie die Pfade nicht korrekt eingegeben habe? Mir ist noch nicht klar, wie ich einen Pfad anlege, der nicht über das Internet erreichbar ist, wenn ich auf einer chroot Umgebung arbeite und wo ich das dann alles eintragen muss, damit es korrekt läuft...
Aber Danke für die .htaccess Datei!
LG
D.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da habe ich auch lange zu

Eingetragen von Thomas Gleitz (54)
am 29.04.2024 - 09:07 Uhr

Da habe ich auch lange zu gebraucht ;-)
mit putty und dem Befehl pwd kannst du dir den richtigen Pfad anzeigen lassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

shared hosting ..

Eingetragen von Franz (224)
am 30.04.2024 - 00:28 Uhr

shared hosting kann das auch.
Der private Pfad liegt dann (bei mir) z.B. "eins tiefer",
.../extra/ 'daneben' vom Document-Root
.../web/sites/default/ ..
Die .htaccess liegt in diesem Beispiel in /extra
und in settings.php hab ich dann
$settings['file_private_path'] = '../extra';

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke, aber

Eingetragen von Dorothea_Z (193)
am 30.04.2024 - 08:37 Uhr

bei mir scheint das irgendwie nicht zu funktionieren, obwohl ich via FTP das entsprechende Verzeichnis nun an verschiedenen Stellen erstellt habe und die settings.php entsprechend angepasst habe - aber ich habe kein Verzeichnis "web", auch wenn drupal einwandfrei läuft. Vielleicht muss ich alles neu installieren? Oder ich muss erstmal kapieren, wie das mit den Unterverzeichnissen genau sein sollte...
Momentan ist beruflich bei mir viel los - daher melde ich mich wieder, wenn etwas mehr Luft ist.
Danke!
LG
D.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mehrere Dinge zu private files

Eingetragen von C_Logemann (902)
am 06.05.2024 - 23:01 Uhr

Private files sind in Drupal dafür da um Dateien mit Access-Steuerung durch Drupal zu schützen. Genau darin liegt auch dessen Nachteil, da dies Ressourcen via PHP und Datenbank verbraucht. Das heißt, da sollte man auch wissen, warum man die Private files benutzen möchte bzw. sollte.

Die ".htaccess"-Datei kann diverse Konfigurations-Anweisungen enthalten, die von Apache Web-Servern gelesen und ausgewertet werden. Das ist bei der Standard-Konfiguration von Apache der Fall und wird in der Regel von Shared Hosting-Anbietern genutzt. Das macht die Ausführung von Web-Anwendungen aber langsamer. Um die Flexibilität dieser von Usern bzw. in diesem Fall Drupal selbst organisierter Konfiguration aufrecht zu erhalten aber mehr Performance bei ausliefern von "Public"-Files zu beschleunigen wird vor dem Apache Web-Server gerne auch mal ein Nginx-Webserver als Proxy verwendet. Der Nginx kann aber auch direkt Drupal mit PHP verknüpfen und macht das dann auch schneller. Allerdings sind die Konfigurations-Abweisungen aus .htaccess-Dteien dem Nginx unbekannt. Man muss sich dann also selbst drum kümmern bzw. der Hosting-Verantwortliche. Drupal überprüft aber trotzdem die Standard-Verzeichnisse wie das public und das private Files Verzeichnis, ob es darin einen ".htaccess"-Schutz gibt, der vor allem die PHP-Ausführung verhindern soll. Diese Standard-Überprüfung ist für Nginx nicht nur nervig, sondern geradezu trügerisch, or allem, wenn es fälschlich OK ergibt. Das ist aber eigentlich generell nur ein Hilfskonstrukt da sich weder im Shared Hosting noch im Custom Hosting kaum jemand eine viel sicherer Strategie nutzt: Den Webserver nur zu erlauben, die wirklich benötigten PHP-Dateien auszuführen bzw. an einen PHP-Prozess (z.B. FPM) zu übergeben. Das kann man sowohl unter Nginx als auch Apache so konfigurieren. D.h. shared Hoster könnten das auch machen, aber das habe ich noch nicht gesehen.
Aber bezüglich Private Files außerhalb des Webroots sind spezielle Zugriffs bzw. PHP Beschränkungen in der Regel ngar nicht nötig auch nicht via .htaccess, da dort eben nur Drupal direkt darauf zugreifen kann und eben dann die Daten (auch ein File) nach Überprüfung der Drupal internen Zugriffs-Regeln dem Webserver und dieser dann dem Browser "übergibt".

  • Anmelden oder Registrieren um Kommentare zu schreiben

kein "web" .

Eingetragen von Franz (224)
am 20.05.2024 - 23:09 Uhr

/web/ wird für D8 oder D9+ mit composer-Skript "drupal/recommended-project" erzeugt. Andere Wege sind möglich, aber da wirds wohl unübersichtlicher.
Wirksamer Maßstab in meiner Erfahrung: drush muss laufen ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Advertising Modul gesucht
  • Mysql Ver 8.0.41 zu MariaDB 10.11.11
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Doppelte Einträge verhindern
  • [abgeschlosen] PHP Composer von Plesk + .bashrc nicht vorhanden
  • Drupal 7 Focal Point – Bild auf Desktop vollständig anzeigen, nur in Responsive zuschneiden
  • ECA validiere Felder mit unlimitierter Eingabe
  • Zugriff auf Webform beschränken/gewähren
  • Drupal 10.4.5 und Bootstrap 3.x.
  • Probleme mit Drupal 10 - HTTP Statuscode 403 (gelöst)
  • View mit mehreren Ansichten, übersteuert nicht
  • [gelöst] Wiederherstellen mit backup&migrate
Weiter

Neue Kommentare

  • War Eure Suche erfolgreich?
    vor 2 Tagen 14 Stunden
  • V-Server ..
    vor 1 Woche 3 Tagen
  • ... generelle
    vor 1 Woche 3 Tagen
  • oder..
    vor 2 Wochen 4 Tagen
  • Also ich will dich ja nicht
    vor 2 Wochen 4 Tagen
  • nochmal MariaDB vs Mysql
    vor 2 Wochen 4 Tagen
  • Vielen Dank - feedback zu den Videos
    vor 4 Wochen 1 Tag
  • Falls dieses Thema noch mal
    vor 4 Wochen 4 Tagen
  • Prima, dann schreib bitte
    vor 4 Wochen 5 Tagen
  • Ah perfekt. Es hat an der
    vor 4 Wochen 5 Tagen

Statistik

Beiträge im Forum: 249988
Registrierte User: 20278

Neue User:

  • CharlestydaY
  • Darrenwem
  • DavidSeero

» Alle User anzeigen

User nach Punkten sortiert:
wla9454
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3855
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association