Developer

Bloqueando diretórios com .htaccess

27 Jan 2014
15:56 | por Adriano Lima

Bloqueando diretórios com .htaccess

Sabe aquele dia que você chega no escritório doido para tomar aquele café e começar a codar e seu chefe já está esperando (os chefes sempre chegam primeiro :-p) com aquela cara de que você já sabe que lá vem um daqueles pedidos "urgentes"?
Bom, o pedido da vez é o seguinte, o cliente por algum motivo obscuro pediu para bloquear um diretório/pasta do sistema que não deveria estar exposto.
Neste momento você coça a cabeça e pensa.
E agora nunca fiz isso na minha vida!!! Então o jeito é apelar ao tio Google, e deve ser por isso que agora você está aqui  ;-).
Neste post você vai ver que é mais simples do que parece bloquear um diretório, então, mãos ao teclado.

Como proteger um diretório com senha em servidores apache.


O que precisamos:
- Um servidor que esteja rodando Apache
- Um arquivo .htaccess (Em outra oportunidade falaremos mais sobre ele).
- Um arquivo .htpasswd
- Caminho absoluto da pasta que irá ser bloqueada

Dentro do arquivo .htaccess digite o seguinte código.
 

AuthType Basic
AuthName "Sua Mensagem de bloqueio"
AuthUserFile /caminho_absoluto/.htpasswd
Require valid-user

Explicando o Código do arquivo .htaccess



AuthType Basic: Nesta diretiva você está dizendo que vai usar autenticação básica HTTP para restringir o acesso.Basic é o tipo de autenticação que é mais utilizado, há outros como a autenticação Digest, mas não se preocupe com isto neste momento.  
Quer mais informações? Acesse http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html

AuthName  Aqui você pode colocar a mensagem que ira aparecer no "box" de login de seu navegador

AuthUserFile  Nesta diretiva coloque o caminho absoluto para diretório/pasta que você deseja bloquear, caso tenha dificuldade em achar o caminho para o diretório de um  echo dirname(__FILE__);  em um arquivo .php, por exemplo caminho.php e execute no navegador e lá está o caminho do seu diretório :-p.

Require valid-user  Aqui você diz ao diz Apache para conceder acesso a qualquer pessoa especificada na diretiva AuthUserFile.

Dentro do arquivo .htpasswd irá o login e a senha do usuário, por exemplo, um login soudev e a senha 123456
 

	soudev:ml5jVpx5RdoiI

	

Explicando o Código do arquivo .htpasswd


Primeiro parâmetro é o login e o segundo a senha, pecerba que a senha está encriptada, para encriptar sua senha é só digitar no tio Google htpasswd generator que aparecerá N sites que fazem isso ;-).

Pegue os 2 arquivos e jogue no diretório que deve ser bloqueado e tente acessar pelo seu navegador, então deverá aparecer uma tela parecida com essa.


Como proteger um diretório com senha em servidores apache

Digite o login e a senha e Voilà.

Isso ai pessoal neste post vimos como bloquear um diretório com login e senha, espero que tenham gostado fiquem a vontade para curtir, compartilhar, comentar

Adriano Lima

Adriano Lima

Adriano Lima é Bacharel em Sistemas de informação e trabalha como Analista Programador na  Ibaro.
Trabalha atualmente com PHP, MYSQL, PostgreSQL, JavaScript, JQuery e MVC.

Comentários

Poste aqui seu comentário, crítica, dúvida ou sugestão. .
Promovam um debate sadio pois comentários ofensivos serão removidos.