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.