Protegendo pastas no site com senhas

Pode ser útil querer proteger algum conteúdo na web (uma pasta por exemplo) com um user/senha, seja para evitar terceiros acessarem os arquivos ou outros motivos.

Uma forma simples e eficaz de fazer isso é usando o próprio servidor Web (apache).

Lembramos que esta facilidade está disponível apenas para restrição de acesso ao site por HTTP ou HTTPS, portanto não poderá ser usado para restringir acesso ao usuário via FTP.

1) Crie um arquivo chamado “.htaccess” (note que o arquivo começa com um ponto), com o seguinte conteúdo:

AuthUserFile “/DADOS/sites-dominio/www.seu-dominio/public_html/PASTAX/.htpasswd”
AuthGroupFile /dev/null
AuthName “Acesso Restrito”
AuthType Basic
Require valid-user

Notas:

  • “PASTAX” é a pasta que você deseja proteger, lembrando que se for uma subpasta, você deve colocar o caminho completo aqui. Digamos que a pasta seja a www.specialist.srv.br/interno/conf/prot (você deseja proteger apenas a prot e não as anteriores, logo, os arquivos .htaccess e .htpasswd deverão ficar dentro da prot, e ao mesmo, a linha AuthUserFile deve conter o caminho “/DADOS/sites-dominio/www.specialist.srv.br/public_html/interno/conf/prot/.htpasswd”)
  • Dependendo da configuração de seu sistema operacional, talvez o arquivo fique como .htaccess.txt, não se preocupe; veja o que fazer nesse caso logo abaixo.
  • No lugar de “Acesso Restrito” você poderá colocar qualquer texto, sempre entre aspas. Esse texto será exibido pelo navegador do visitando, solicitando o user/senha.

2) Envie por ftp esse arquivo para o servidor, deixando-o DENTRO da pasta que se deseja proteger.

Cuidado:

  • Caso você não enxergue o arquivo no servidor após envia-lo através de seu programa de ftp, é provável que o mesmo esteja configurado para não exibir arquivos ocultos (qualquer arquivo que comece com um ponto é considerado arquivo oculto em um ambiente linux), desta forma reconfigure seu programa de ftp para exibir todos os arquivos.
  • Caso o arquivo fique como .htaccess.txt no servidor, basta renomeá-lo para o correto: “.htaccess” (sem o “.txt” no final e com o “.” no começo).

3) Crie um arquivo chamado “.htpasswd” (note que este arquivo também começa com um ponto), com o seguinte conteúdo:

user:senha-criptografada

No lugar de “user” coloque o nome do usuário que você deseja criar e no lugar de “senha-criptografada” coloque a senha criptografada para o usuário (note que existe o sinal “dois pontos” entre o user e a senha criptografada).

Para gerar a senha criptografada acesse o PDC e clique no item “Gerar Senha Criptografada para usar no .htpasswd”

Copie e cole a linha gerada por ele dentro do arquivo .htpasswd

Exemplo: digamos que se queira criar o user “teste” com senha “a1b2c3” o arquivo .htpasswd deverá ficar como:

teste:AWMFU9MocfJi8

Nota:

  • Na tentativa de criptografar a senha “a1b2c3” não necessariamente o resultado será “AWMFU9MocfJi8” como em nosso exemplo acima. O algoritmo muda a cada instante, dificultando assim, a “quebra” de tal senha.

Não existe limite para o número de usuários, basta criar um em cada linha, como no exemplo abaixo:

teste:AWMFU9MocfJi8
user:VRMFA9MochJi0
nome:YTGBLmkn867

4) Envie por ftp esse arquivo para o servidor, deixando-o DENTRO da pasta em que se deseja proteger, juntamente com o .htaccess criado acima.

Cuidado:

  • Novamente, caso o arquivo fique como .htpasswd.txt no servidor, basta renomeá-lo para o correto: “.htpasswd” (sem o “.txt” no final e com o “.” no começo).

Tente agora acessar essa pasta em seu site e você verá que será aberto uma janela solicitando um user/senha.

Compartilhe isso:

Matérias relacionadas: