web-dev-qa-db-ja.com

D8はプライベートファイルシステムパスの.htaccessを作成しません

このガイドに従ってください: 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は手動で追加できるように見えるはずですか?

enter image description here

enter image description here

enter image description here

1
user13176

試す

Deny from all
# Turn off all options we don't need.
Options None
Options +FollowSymLinks
1
DD817

これは.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>

この.htaccessDrupal 8 (または9)コアによってプライベートファイルディレクトリに配置されているはずです。 (おそらく、プライベートディレクトリの権限が原因で、Drupalがファイルを作成できませんでした。)

上記の受け入れられた回答は、Drupalステータスレポートからの警告を静めるのに適切ですが、実際には 2013からの元のコアセキュリティアドバイザリ で対処されているリモートスクリプト実行の悪用を防ぎません。

2
hotwebmatter