Apacheが特定のファイルをダウンロードするのを防ぐ方法は?

Apacheが特定のファイルをダウンロードするのを防ぐ方法は?

Apacheが特定のファイルをダウンロードするのを防ぐ方法は? (例:.pyと.sh)

このようなファイルを提供してダウンロードするのを避けたいです。

www.site.com/file.sh
www.site.com/file.py

しかし、私はこれをしようとします。

<Files ~ "^\.sh">
   Order deny,allow
   deny from all
</Files>

<Files ~ "^\.py">
   Order deny,allow
   deny from all
</Files>

この

<FilesMatch "\.(sh|py)$">
   Order deny,allow
   deny from all
</FilesMatch>

何も動作しないようです。ファイルを入れてみました。

/etc/apache2/apache2.conf

返品

/etc/apache2/sites-available/default

何も動作しません。Apacheではまだファイルをダウンロードできます。

答え1

ファイル一致の用語が間違っているようです。

<Files ~ "^\.py">

名前は次のファイルと一致します。スタート文字通り.py。あなたが欲しい

<Files ~ "\.py$">

代わりに。

しかし、FilesMatch正規表現が正しいようです。その場合、問題は他の場所にある可能性があります。おそらく、Apacheは新しいスタイルのアクセス制御ディレクティブだけを使用していますか?

古いものを交換してみてください

Order deny,allow
deny from all

新しいスタイルと同じ:

Require all denied

関連情報