Restringir acesso a diretórios com ApacheEste aqui é um tutorial básico mais que aborda algumas formas para você proteger diretórios, ou arquivos importantes, é muito útil para proteger por exemplo uma pasta com os arquivos de administração.
Espero que gostem...
Para começar precisamos permitir que o .htaccess funcione, então você deve ir no
httpd.conf na pasta
conf do Apache e procurar algo como:
Citar# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
Então troque o
AllowOverride None por
AllowOverride AllAgora tudo ok com o .htaccess, agora precisamos adicionar o módulo
mod_auth, para isso procure por:
CitarLoadModule auth_module modules/mod_auth.so
e descomente tirando o jogo da velhas (#) da frente.
Caso esteja usando o Apache 1.3, procure também por:
CitarAddModule mod_auth.c
e faça o mesmo.
Restringir por AutenticaçãoAgora vou mostrar basicamente como restringir pelo modo de autenticação (usuário/senha).
Explicação rápida:.htaccess -
Guardará as configurações de acesso.htpasswd -
Guardará os usuários e senhasNo .htaccess -
Exemplo de utilizaçãoCitarAuthType Basic
AuthName "Pasta Protegida"
AuthUserfile "caminho/.htpasswd"
Require valid-user
Explicando:AuthType Basic -
Informa o tipo de autorização, neste caso "basic"AuthName: -
Nome ou comentário, exemplo "pasta protegida"AuthUserFile: -
Caminho do ".htpasswd"require valid-user: -
Diz para buscar os usuários e senhas no ".htpasswd"No .htpasswd -
Exemplo de utilizaçãoCitarusuario:senha
Explicando:Separe o usuário e senha por dois pontos (:), um por linha.
Proteger arquivos .ht*:Esta configuração abaixo serve para impedir que alguma pessoa veja o conteúdo dos arquivos que começam com .ht, como o .htaccess e .htpasswd. Creio que isso vem como padrão do Apache, mais vou postar assim mesmo:
Citar
Order allow,deny
Deny from all
Explicando:Irá bloquear o acesso a todos os arquivos que começem com
.ht.
Restringir no .htaccess por IP:Bloquear qualquer acesso:.htaccessCitarOrder Deny, Allow
Deny from all
Bloquear faixa de IPs:.htaccessCitarOrder Deny,Allow
Deny from 192.168.0.
Explicando:Order Deny,Allow -
Indica a ordem de interpretaçãoDeny from all -
Irá bloquear todos os acessos*Também pode usar
Allow from all para permitir acessos, e também trocar
all por uma faixa de IPs ou somente um.
Restringir pelo httpd.conf:Você deve criar um setor como no exemplo abaixo:
httpd.conf -
Exemplo de utilizaçãoCitar
AllowOverride All
Order deny,allow
Deny from all
Explicando: -
Indica a pastaOrder deny, allow -
Indica a ordem de interpretaçãoDeny from all -
Irá bloquear todos os acessos*Também pode usar
Allow from all para permitir acessos, e também trocar
all por uma faixa de IPs ou somente um.
Créditos:Rodrigo Aparecido - rodweb (//http://mailto:msn.rod@hotmail.com) ([email:rozfpxem]rod.apd@gmail.com[/email:rozfpxem])
*Caso forem copiar, mantenham os créditos!
Saiba mais:Tutorial interessante:Aprendendo a utilizar o htaccess (//http://www.plugmasters.com.br/sys/materias/10/1/Aprendendo-a-utilizar-o-htaccess)
Documentação do .htaccess:Apache 1.3 (//http://httpd.apache.org/docs/1.3/howto/htaccess.html) | 2.0 (//http://httpd.apache.org/docs/2.0/howto/htaccess.html) | 2.2 (//http://httpd.apache.org/docs/2.2/howto/htaccess.html)
Documentação do .htpasswd:Apache 1.3 (//http://httpd.apache.org/docs/1.3/programs/htpasswd.html) | 2.0 (//http://httpd.apache.org/docs/2.0/programs/htpasswd.html) | 2.2 (//http://httpd.apache.org/docs/2.2/programs/htpasswd.html)
Caso eu tenha errado em algo, ou não tenham entendido, comentem aí!
Flws...