Bloqueando acesso a pasta por .htpass e .htaccess
Abaixo nesse tutorial explicarei em detalhes como colocar criar uma pasta protegida.
Criando a pasta
Vamos criar uma pasta dentro do public_html chamada de backup, o caminho absoluto dela será /home/deivison/public_html/backup/ Assim esta pasta estará visível a todos pelo endereço www.deivison.com.br/backup e precisamos proteger-la do acesso direto, como podem ver no exemplo:
Caso você acesse esse endereço acima, irá apresentar uma janela assim:
Coloque o login deivison e a senha teste para entrar e testar
O .htpasswd
Mas como foi feito isso??Bem vou explicar, primeiramente vc terá que criar um arquivo chamado .htpasswd que ficará abaixo da pasta /public_html. Dentro desse aquivo é necessário ter um conjunto de regras que informará qual usuário e a senha, ou seja, esse aquivo conterá somente o login e senha! E ele pode ser usado em várias pastas do seu site que você queira proteger com o mesmo login e senha.
Dentro do meu arquivo .htpasswd esta assim:
1 |
deivison:$apr1$wl9JoE4.$9wiQpCrmyTqZtosqiLx/y/ |
Eu criei esse arquivo acessando um site que gera arquivos .htpasswd chamado http://www.htaccesstools.com/htpasswd-generator/
O .htaccess
Bem seguindo em frente, vamos colocar dentro da pasta /backup um arquivo chamado .htacces com as instruções dentro dele de onde esta localizado o arquivo com o login e senha chamado .htpasswd.
Ou seja, como disse anteriormente o arquivo .htpasswd será somente o arquivo que conterá o login e a senha. e o arquivo .htacces conterá onde esta o arquivo de senha que ele irá usar para proteger o diretório corrente. Entendeu?
Dentro do meu arquivo .htpasswd esta assim:
1 |
AuthType Basic |
2 |
AuthName "Oi voce esta bloqueado para acessar essa pasta! :)" |
3 |
AuthUserFile /home/deivison/.htpasswd |
4 |
Require valid-user |
Para gerar o .htacces você pode ir em http://www.htaccesstools.com/htaccess-authentication/
Como Saber o caminho absoluto até minha pasta do .htpasswd?
Caso você não saiba qual o seu endereço absoluto até o arquivo .htpasswd, crie esse script abaixo em sua basta /backup que ele te dará o seu diretório absoluto até a pasta backup, dai você subtrai o trecho /public_html/backp/ que assim você saberá com exatidão onde esta seu arquivo .htpasswd
1 |
<?php |
2 |
$dir = dirname( __FILE__ ); |
3 |
echo "<p>Full path to this dir: " . $dir . "</p>" ; |
4 |
echo "<p>Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . "</p>" ; |
5 |
?> |
Pronto já temos o diretório projegido!
www.lucaspeperaio.com.br/blog/utilidades-do-arquivo-htaccess