Hosting Handbuch

.htaccess-Dateien

Die von Drupal standardmäßig ausgelieferte .htaccess-Datei setzt die Option FollowSymLinks:

# Follow symbolic links in this directory.
Options +FollowSymLinks

Diese Einstellung ist ein Sicherheitsrisiko und daher serverseitig verboten. Verwenden Sie statt dessen die Option SymLinksIfOwnerMatch:

# Follow symbolic links in this directory.
Options +SymLinksIfOwnerMatch

Zudem erzeugt Drupal im Verzeichnis sites/default/files/ automatisch eine .htaccess-Datei mit der Option FollowSymLinks und zwei SetHandler-Anweisungen:

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

Die Option FollowSymLink muss auch hier wieder durch SymLinksIfOwnerMatch ersetzt werden (siehe oben). Zudem stellt die Anweisung SetHandler ein Sicherheitsrisiko dar und muss z.B. durch eine RewriteRule ersetzt werden:

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

# Set the catch-all handler to prevent scripts from being executed.
# SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
RewriteEngine on
RewriteRule .+\.(php[3457]?|pht|phtml|phps|pl|py|pyc|pyo|sh)$ - [F,L]
<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>

Weitere Informationen zu nicht erlaubten Einstellungen finden Sie im Handbuch zum Thema .htaccess-Dateien.