É como negar o acesso a uma pasta no meu site? [fechadas]

0

Estou armazenando meus logs em uma pasta 'log' acima do meu diretório da web

Minha estrutura de diretórios é assim:

 web/  (document root)
 log/  (log files go in here)

Eu fiz a seguinte alteração na minha configuração do Apache, para garantir que NENHUM dos arquivos nessa pasta seja legível pelo mundo:

  <Directory  absolute_path_to/log>
    Order allow,deny
    Deny from all
    Satisfy All
  </Directory>

[Editar]

Estou usando o framework symfony, e um arquivo .htacess é colocado na pasta web.

O arquivo .htacess contém a seguinte seção:

##Protect your site<92>s PHP error log via htaccess
# prevent access to php error log
<Files ../log/php_errors.log>
  Order allow,deny
  Deny from all
  Satisfy All
</Files>

Eu modifiquei isso e o alterei para limitar o acesso a toda a pasta de log, em vez de um arquivo específico (já que estou armazenando outros logs lá).

Eu fui informado (Iganacio), que o servidor automagicamente bloqueia o acesso a pastas fora da raiz do documento. Em qualquer caso, se não fizer isso, prefiro ainda incluir a seção em minha configuração do host virtual, apenas para estar no lado seguro.

Essa é a maneira correta de fazer isso, para que a pasta de log seja completamente proibida?

    
por morpheous 20.07.2010 / 12:23

2 respostas

1

Duas coisas:

  1. Os caminhos em <Directory> devem ser absolutos.
  2. Navegar para um diretório acima da raiz do documento é tratado pelo servidor da Web e não é permitido em geral.
por 20.07.2010 / 12:28
2

A maneira mais fácil é colocar isso no .htaccess no diretório log /:

deny from all

Como você quer que o diretório inteiro seja protegido, você não precisa da diretiva <Files ...> , apenas da linha de negação que bloqueia tudo que entra nesse diretório. No entanto, Ignacio está correto em dizer que você não deve precisar disso porque o diretório log / está fora do que o Apache está servindo.

    
por 20.07.2010 / 13:35