Fehler bei öffentlichen und temporären Dateien in meinem "Statusbericht"

7

Ich habe gerade von 7.19 auf 7.25 aktualisiert und jetzt habe ich in meinem Statusbericht ein rotes X in meinen "öffentlichen Dateien" und "temporären Dateien".

Unter http://drupal.org/SA-CORE-2013-003 finden Sie Informationen zur empfohlenen .htaccess-Datei, die zum Verzeichnis sites / default / files hinzugefügt werden sollte, um den Schutz vor willkürlicher Codeausführung zu gewährleisten.

Ich gehe zur oben angegebenen Adresse, habe aber keine benutzerfreundliche Erklärung, wie ich das beheben kann. Danke im Voraus.

Update: (08.01.14)

Die folgende Antwort behebt das Public filesProblem zu 100%.

Es behebt das nicht Temp files. Um temporäre Dateien zu reparieren, gehe ich zu admin/config/media/file-systemund ändere den Pfad von /tmpzu../tmp

Ich werde dies aktualisieren, wenn dies in einer neueren Version von Drupal behoben ist oder wenn ein anderer Fix verfügbar ist. Ich bin nicht sicher, ob das ../tmpdie richtige Lösung ist, aber es funktioniert.

EGHDK
quelle
Relevantes Problem: drupal.org/node/2141065
Wtower

Antworten:

7

Die einfachste Methode ist das Kleingedruckte. Wenn Sie diese Dateien nicht bearbeitet haben, dann

  • Navigieren Sie zu admin / config / media / file-system
  • Löschen Sie sites / default / files / .htaccess
  • Löschen Sie überall dort, wo / Ihre / privaten / Dateien / sich / .htaccess befinden, wie auf der Seite angegeben, zu der Sie gerade gewechselt haben
  • Löschen Sie überall dort, wo / Ihre / tmp / files / / .htaccess sind, wie auf der Seite angegeben, zu der Sie gerade navigiert haben
  • Klicken Sie auf SPEICHERN

Dadurch werden die beiden .htaccess-Dateien neu erstellt. Besuchen Sie dann den Statusbericht und überprüfen Sie die Dinge.

Andernfalls bearbeiten Sie sites / default / files / .htaccess

# Turn off all options we don't need.
Options None
Options +FollowSymLinks

# 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>

und wo immer / Ihre / privaten / Dateien / sind .htaccess und wo / Ihre / tmp / Dateien / sind / .htaccess sein

Deny from all

# Turn off all options we don't need.
Options None
Options +FollowSymLinks

# 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>

Beachten Sie den Unterschied in Zeile 1 für die privaten Dateien. Dies verhindert, dass Dateien von außen aufgerufen werden. Als zusätzliche Vorsichtsmaßnahme ist es auch vorteilhaft, Ihre privaten und tmp-Dateiverzeichnisse außerhalb Ihres DOCROOT zu platzieren, wenn Sie können.

mpdonadio
quelle
Haben Sie getan, was Sie gesagt haben, und es schien wie ein Zauber für den Fehler im Verzeichnis der öffentlichen Dateien zu funktionieren, aber der Fehler im Verzeichnis der temporären Dateien ist immer noch vorhanden. Ideen?
EGHDK
1
@EGHDK Stellen Sie sicher, dass der Pfad zum tmp-Ordner gültig ist
Clive
Der Pfad zum temporären Ordner in admin / config / media / file-system lautet "/ tmp". Woher weiß ich, ob es gültig ist oder nicht?
EGHDK
1
@EGHDK Aktualisiert für tmp. Wenn Sie dies ebenfalls löschen, wird es neu erstellt.
mpdonadio
Ich habe kein Verzeichnis "/ tmp".
EGHDK
0

Erstellen Sie zunächst einen Ordner "tmp" in sites / "default oder was auch immer / files /". Gehen Sie dann zu Drupal admin "admin / config / file system" und aktualisieren Sie den temporären Pfad mit Ihrem tmp-Verzeichnispfad.

Das ist es.

Arif
quelle