Como evitar o apache permitir o download de certos arquivos?

2

Como evitar o apache permitir o download de certos arquivos? (por exemplo, .py e .sh)

Eu quero evitar que arquivos sejam exibidos e baixados como

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

mas eu tentei fazer isso

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

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

também isso

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

Nada parece funcionar, eu tentei colocar o arquivo em

/etc/apache2/apache2.conf

também

/etc/apache2/sites-available/default

Nada funciona, o apache ainda me permite baixar os arquivos .

    
por Hernán Eche 08.08.2018 / 19:48

1 resposta

5

Suas cláusulas de correspondência de arquivo parecem estar incorretas.

<Files ~ "^\.py">

corresponderá os arquivos cujos nomes serão iniciados pelos caracteres .py . Você vai querer

<Files ~ "\.py$">

em vez disso.

Mas sua expressão regular FilesMatch parece correta. Então talvez o problema esteja em outro lugar. Talvez o seu Apache use apenas as diretivas de controle de acesso do novo estilo?

Tente substituir o estilo antigo

Order deny,allow
deny from all

com o novo estilo equivalente:

Require all denied
    
por 15.08.2018 / 20:46