このガイドに従ってください: https://www.drupal.org/documentation/modules/file 言う
「admin/config/media/file-systemでプライベートディレクトリを指定すると、サブディレクトリが自動的に作成され、すべてからの拒否を含む単純な.htaccessファイルが作成されます。」
settings.php
を編集し、$settings['file_private_path'] = 'sites/default/files/private'
の後にdrush rc
を追加すると、.htaccess
ファイルがsites/default/files/private
に作成されず、正しい方法がわかりません.htaccess
は手動で追加できるように見えるはずですか?
試す
Deny from all
# Turn off all options we don't need.
Options None
Options +FollowSymLinks
これは.htaccess
の使用に適しています。
# 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_php5.c>
php_flag engine off
</IfModule>
<IfModule mod_php7.c>
php_flag engine off
</IfModule>
この.htaccess
は Drupal 8 (または9)コアによってプライベートファイルディレクトリに配置されているはずです。 (おそらく、プライベートディレクトリの権限が原因で、Drupalがファイルを作成できませんでした。)
上記の受け入れられた回答は、Drupalステータスレポートからの警告を静めるのに適切ですが、実際には 2013からの元のコアセキュリティアドバイザリ で対処されているリモートスクリプト実行の悪用を防ぎません。