Ferramentas de Desenvolvimento
Gerador de .htpasswd
Gere arquivos .htpasswd para autenticação básica do Apache e Nginx com segurança no navegador. Compatível com bcrypt, APR1-MD5 e SHA-1. As senhas nunca são enviadas ao servidor.
Dicas
- Use bcrypt: O algoritmo mais seguro disponível. Funciona com Apache 2.4+ e Nginx. Valores de custo mais altos tornam o hash mais lento e aumentam a resistência a ataques de força bruta (10 é o valor padrão recomendado).
- APR1-MD5 (
$apr1$) é indicado para compatibilidade com Apache 2.2 ou versões anteriores, e funciona com praticamente todas as versões do Apache e Nginx. - SHA-1 (
{SHA}) possui baixa resistência a colisões e não é recomendado. Use-o apenas em ambientes legados que exijam compatibilidade retroativa. - Coloque o arquivo .htpasswd fora do
DocumentRoot(ou raiz web do Nginx) para que não seja acessível diretamente via web. - Sempre use HTTPS. As credenciais de autenticação básica são apenas codificadas em Base64, não criptografadas — trafegam em texto simples sobre HTTP.
Perguntas frequentes
.htaccess ou httpd.conf, apontando AuthUserFile para o caminho do arquivo .htpasswd gerado:AuthType Basic AuthName "Restricted Area" AuthUserFile /etc/apache2/.htpasswd Require valid-user
nginx.conf ou ao bloco server correspondente:location /admin {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}O Nginx suporta tanto bcrypt quanto APR1-MD5.usuário:hash) ao final do arquivo existente. Cada linha representa um usuário. Linhas em branco e linhas iniciadas com # são ignoradas.
Curiosidade — Por que a Basic Auth sobrevive apesar da idade
A autenticação básica HTTP foi definida em 1999 pela RFC 2617 (atualizada para RFC 7617). O mecanismo é simples: concatenar usuário e senha com :, codificar em Base64 e enviar no cabeçalho Authorization.
Sua simplicidade explica por que ainda é amplamente usada: ideal para ambientes de staging, ferramentas internas ou como primeira linha de defesa combinada com listas de permissão de IP. Duas ou três linhas de configuração bastam, sem necessidade de middleware adicional ou banco de dados.
As limitações também existem: não há mecanismo de logout (a sessão persiste até fechar o navegador), nem gerenciamento de expiração de senhas nem autenticação multifator de série. Para serviços com requisitos de segurança reais, considere OAuth 2.0 ou OIDC.