Protegendo pastas no site com senhas

Em algumas situações pode ser necessário restringir o acesso a determinados conteúdos do seu site, como uma pasta específica contendo arquivos administrativos, relatórios, documentos internos ou áreas de teste.

Uma forma simples, eficiente e bastante segura de fazer isso é utilizando o próprio servidor web (Apache), que permite proteger pastas com usuário e senha.

Quando essa proteção é aplicada, qualquer visitante que tentar acessar aquela pasta verá uma tela solicitando login e senha antes mesmo do conteúdo ser carregado.

Importante lembrar: essa proteção funciona apenas para acesso via HTTP ou HTTPS (navegador). Ela não bloqueia acesso via FTP.


Passo 1 — Criando o arquivo .htaccess

Crie um arquivo chamado .htaccess (note que o nome começa com um ponto) contendo o seguinte conteúdo:

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

Explicação dos parâmetros

AuthUserFile

Define onde está localizado o arquivo .htpasswd, que contém os usuários e senhas permitidos.

Exemplo:

Se você deseja proteger a pasta:

www.seusite.com.br/interno/conf/prot

o caminho deverá ser:

/DADOS/sites-dominio/www.seusite.com.br/public_html/interno/conf/prot/.htpasswd

Ou seja, o caminho precisa ser completo dentro do servidor.


AuthName

Define o texto que aparecerá na janela de autenticação do navegador.

Exemplo:

AuthName "Área Administrativa"

Você pode usar qualquer texto entre aspas.


Passo 2 — Enviando o arquivo para o servidor

Envie o arquivo .htaccess via FTP para dentro da pasta que você deseja proteger.

Atenção

Alguns programas de FTP não exibem arquivos ocultos (arquivos que começam com ponto).

Se você não visualizar o arquivo após enviar, configure o FTP para exibir arquivos ocultos.

Também pode ocorrer do arquivo ser enviado como:

.htaccess.txt

Nesse caso basta renomear para .htaccess.


Passo 3 — Criando o arquivo .htpasswd

Agora crie outro arquivo chamado .htpasswd.

Esse arquivo armazenará os usuários autorizados.

Formato do arquivo:

usuario:senha-criptografada

Exemplo:

teste:AWMFU9MocfJi8

Nesse exemplo:

  • usuário → teste
  • senha criptografada → AWMFU9MocfJi8

A senha precisa estar criptografada, pois o Apache não aceita senhas em texto simples.


Gerando a senha criptografada

Para gerar a senha criptografada, acesse o PDC (Painel de Controle) e utilize a opção:

Gerar Senha Criptografada para usar no .htpasswd

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

Exemplo de criação de usuário:

Usuário desejado:

teste

Senha escolhida:

a1b2c3

Resultado no .htpasswd:

teste:AWMFU9MocfJi8

Observação importante:
a criptografia pode gerar resultados diferentes para a mesma senha, isso é normal e aumenta a segurança do sistema.


Criando múltiplos usuários

Você pode criar quantos usuários desejar.

Basta adicionar um por linha:

teste:AWMFU9MocfJi8
user:VRMFA9MochJi0
nome:YTGBLmkn867

Passo 4 — Enviando o .htpasswd

Envie o arquivo .htpasswd via FTP para a mesma pasta onde está o .htaccess.

A estrutura final ficará assim:

/pasta-protegida/
.htaccess
.htpasswd

Novamente, caso o arquivo seja enviado como:

.htpasswd.txt

renomeie para:

.htpasswd

Testando a proteção

Após concluir os passos acima, tente acessar a pasta protegida pelo navegador.

Exemplo:

www.seusite.com.br/pasta-protegida/

O navegador exibirá automaticamente uma janela solicitando usuário e senha.

Somente após inserir as credenciais corretas o conteúdo será exibido.


Quando usar esse recurso

Esse tipo de proteção é muito útil para:

  • áreas administrativas
  • ambientes de desenvolvimento
  • páginas internas
  • relatórios privados
  • downloads restritos
  • sistemas ainda em construção

Além disso, é uma camada extra de segurança bastante eficiente contra acessos indevidos.

Compartilhe isso: