如何避免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

相关内容