Impedindo a execução de scripts e downloads de arquivos em um diretório?

2

Eu tenho um diretório no meu site onde estou armazenando arquivos enviados por usuários. Eu uso uma lista de permissões para tipos de arquivo enviados e também salvei os arquivos com nomes de hash, mas pelo que eu li outra boa precaução de segurança é parar a execução de scripts no diretório. Eu também quero impedir que arquivos no diretório sejam acessados diretamente, já que eu não quero que os usuários possam baixar arquivos que não são deles.

Meu servidor executa o Linux com o Apache. O arquivo .htaccess a seguir está correto para o que estou tentando alcançar?

order deny,allow
deny from all
<FilesMatch .php>
    SetHandler None
</FilesMatch>
    
por Nate 26.07.2013 / 16:58

1 resposta

3

Você está procurando por algo assim:

<Directory /path/to/dir>
    Order allow, deny
    Deny from all
    php_admin_flag engine off
</Directory>

As duas primeiras diretivas ( Order e Deny ) (ou 2.2 ou 2.4 ) deve proibir qualquer pessoa de acessar o diretório através do Apache (eles receberão um erro 403). O php_admin_flag desativa o mod_php, que deve ser realmente supérfluo, dado o Deny from all .

Outra abordagem, possivelmente superior, é não ter o diretório sob sua raiz da web.

    
por 26.07.2013 / 21:51