Use .htaccess para bloquear * Todos * o acesso a pastas específicas

1

Não sei ao certo como fazer isso, mas desejo bloquear todo o acesso a um conjunto específico de pastas no meu servidor da web. Diga secret01 e secret 02 ...

homeDir
  |- data
  |- www
  |   |- .htaccess (file)
  |   |- images
  |   |- js
  |   |- secret01
  |   |- secret02
  |   |...
  |...

Que regra (s) eu preciso adicionar ao meu arquivo .htaccess raiz para fazer isso? Eu quero que todos os acessos da web sejam bloqueados para essas pastas, ponto final. O único caminho que se poderia obter para eles seria sobre SFTP ou SSH . Então, qual regra estou procurando? Eu estou de preferência procurando por um one-liner para poder adicionar mais pastas ou movê-lo para outro site no futuro. Eu realmente preferiria que a regra pudesse ser colocada no arquivo raiz .htaccess para que eu não tivesse que pular por todo o lugar para bloquear e desbloquear pastas.

= Atualização para clareza =

Eu não tenho acesso ao arquivo conf para este host (ele está em um ambiente compartilhado) e eu preciso ter essas pastas dentro do webroot para alguns propósitos do shell. Se eu pudesse, eu já os teria removido da webroot.

Eu também não quero estragar com as permissões de arquivo, só tem uma regra no meu .htaccess que bloqueia o tráfego da web de acessar uma pasta ou um conjunto de pastas.

    
por Urda 19.03.2010 / 14:17

2 respostas

2

Você pode simplesmente criar um .htaccess com

DENY FROM ALL

para as pastas (coloque o arquivo nelas).

Também com mod_rewrite em www / .htaccess:

RewriteEngine On
RewriteRule ^(secret1|secret2|asdf) - [F,L]
    
por 19.03.2010 / 14:57
1

Se você realmente não quiser que eles sejam acessíveis à Internet via HTTP, mova-os para fora da árvore da Web por completo.

Você também pode usar permissões do sistema de arquivos. Por exemplo, se o Apache for executado como o usuário apache , mas você desejar que os arquivos só sejam acessíveis via SSH por user23 , você pode ter o segredo * de user2 e não ser legível publicamente. Claro, existem opções adicionais quase infinitas aqui. Grupos, ACLs do sistema de arquivos e muito mais.

Para as ACLs, você pode usar o mod_authz. É melhor manter a configuração no conf e não em .htaccess . Tê-los em .htaccess introduz mais exposição e possibilidade de manipulação com menos privilégios.

documentação do mod_authz

    
por 19.03.2010 / 14:40