Hallo,
ich habe das hier mit der aktuellen Drupal Version 7.44 nachvollziehen können. Unter
/htdocs/sites/default/files
wird von Drupal eine .htaccess Datei angelegt in der wie hier schon richtig vermutet ein
drin steht.
Leider wird diese .htaccess Datei von Drupal beim Abschließen der Installation über den Drupal eigenen Installer angelegt und mit Inhalten gefüllt.
Es gibt hierzu schon länger (seit 2011) einen Issue auf der Drupal Webseite: https://www.drupal.org/node/1269780. Leider hat sich da bisher nocht nichts getan.
Auch uns sind hier quasi die Hände gebunden da zum Zeitpunkt des Anlegens der Datei sämtliche LiveConfig Scripte bereits beendet sind.
Zumindest zeitweise Abhilfe schafft es die .htaccess Datei folgendermaßen abzuändern:
# Turn off all options we don't need.
Options None
#Options +FollowSymLinks # diese Zeile auskommentieren
Options +SymLinksIfOwnerMatch # diese Zeile einfügen
# 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_php5.c>
php_flag engine off
</IfModule>
Alles anzeigen
Ich kann allerdings in keinster Weise garantieren dass diese Änderung nicht irgendwann von Drupal wieder Rückgängig gemacht wird.
Sämtliche Lösungsansätze die wir hier im Büro diskutiert haben laufen allesamt darauf hinaus in den normalen Ablauf von Drupal einzugreifen (sei es durch ausliefern der generierten Datei oder durch Patchen der generierenden Datei). Da wir hier den Ansatz des minimal invasiven verfolgen kommen solche Bastellösungen für uns nicht in Frage.
Sollte jemand eine andere Idee haben wie wir unseren Installer anpassen können um dieses Problem zu umgehen sind kann er uns gerne Bescheid sagen.
Viele Grüße
Christoph Russow