Como proteger uma pasta com senha usando .htaccess e .htpasswd

Esta página gera o código necessário para proteger um diretório ou um site inteiro com usuário e senha em um servidor Apache (Linux/Unix). A senha é criptografada com bcrypt, o formato recomendado pelo Apache 2.4.

Gerar .htaccess e .htpasswd

Digite o usuário e a senha que você quer e clique em "Gerar código". Aparecerá o conteúdo dos arquivos .htaccess e .htpasswd.

Caminho absoluto no servidor da pasta onde você vai enviar o .htpasswd, normalmente algo como /home/seu_site/.

Como funciona a proteção com .htaccess?

O Apache lê o arquivo .htaccess de cada pasta antes de servir o seu conteúdo. Com as diretivas AuthType Basic e Require valid-user, o servidor pede usuário e senha ao navegador e os confere com o arquivo .htpasswd indicado em AuthUserFile. A proteção vale também para todas as subpastas.

O arquivo .htpasswd guarda uma linha por usuário no formato usuário:hash. A senha nunca é armazenada em texto puro: aqui ela é criptografada com bcrypt ($2y$), aceito pelo Apache desde a versão 2.4. Se o seu servidor for mais antigo, você pode gerar o hash com o comando htpasswd do próprio Apache.