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.
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.