Como proteger uma pasta com palavra-passe usando .htaccess e .htpasswd

Esta página gera o código necessário para proteger um diretório ou um site inteiro com utilizador e palavra-passe num servidor Apache (Linux/Unix). A palavra-passe é encriptada com bcrypt, o formato recomendado pelo Apache 2.4.

Gerar .htaccess e .htpasswd

Introduza o utilizador e a palavra-passe que pretende e clique em "Gerar código". Aparecerá o conteúdo dos ficheiros .htaccess e .htpasswd.

Caminho absoluto no servidor da pasta para onde vai carregar o .htpasswd, normalmente algo como /home/o_seu_site/.

Como funciona a proteção com .htaccess?

O Apache lê o ficheiro .htaccess de cada pasta antes de servir o seu conteúdo. Com as diretivas AuthType Basic e Require valid-user, o servidor pede utilizador e palavra-passe ao navegador e compara-os com o ficheiro .htpasswd indicado em AuthUserFile. A proteção aplica-se também a todas as subpastas.

O ficheiro .htpasswd guarda uma linha por utilizador no formato utilizador:hash. A palavra-passe nunca é guardada em texto simples: aqui é encriptada com bcrypt ($2y$), aceite pelo Apache desde a versão 2.4. Se o seu servidor for mais antigo, pode gerar o hash com o comando htpasswd do próprio Apache.