Pular para o conteúdo
>_ITDITDPlataforma de Segurança Web

Glossário

O que é o .env — o que acontece quando um arquivo de ambiente vaza

O .env reúne os segredos de um aplicativo (credenciais de banco, chaves de API, chaves de criptografia) em um único arquivo. Por que ele é o arquivo mais perigoso, o que cada segredo vazado destrava, onde colocá-lo e como protegê-lo no git e via rotação — com uma autoverificação.

Publicado 2026-06-07 Atualizado 2026-06-07 3 min de leitura

O .env é extremamente prático e quase todo framework moderno o usa. Mas coloque-o no lugar errado uma única vez e é como prender seu molho de chaves na porta da frente. Veja o que ele é e como protegê-lo, do zero.

Um pouco mais de detalhe

Os aplicativos têm "valores que mudam por ambiente" e "valores que você não quer que ninguém veja": a senha do banco, chaves de API externas, a chave que criptografa as sessões. Codifique-os direto no fonte e os segredos vazam no instante em que você compartilha o código.

Então você os reúne em um único arquivo .env e os lê como "variáveis de ambiente" a partir do código. Next.js, Laravel, Rails e muitos frameworks funcionam assim.

Por que ele é o "arquivo mais perigoso"

Como várias chaves ficam em um único arquivo, uma única exposição espalha o dano rápido. Listar "o que cada valor vazado destrava" deixa a severidade clara.

Valor vazadoO que acontece
Credenciais do bancoler / alterar / apagar dados
Chaves de API externauso por personificação, cobrança fraudulenta
Chave de criptografia (por exemplo, APP_KEY do Laravel, chaves de assinatura)falsificação de sessão, login por personificação
Segredos OAuthtomada de controle de apps vinculados

De fato, expor o .env é um incidente clássico. → O .env exposto ao mundo inteiro

O vazamento típico = um erro de posicionamento

A maior causa é "colocar o aplicativo inteiro no diretório público (docroot)". Onde só public/ deveria ser servido, expor o diretório pai torna o .env alcançável também.

✗ Perigoso (app na raiz pública)

public_html/
├─ .env   ← legível!
├─ app/
└─ public/

✓ Seguro (app fora, só public servido)

app-root/
├─ .env   ← inalcançável
├─ app/
└─ public_html/ → public/
Mantenha o app fora do docroot e sirva apenas public/. Só isso já torna o .env inalcançável.

Como protegê-lo

1

Não o coloque em um diretório público

Mantenha o app fora do docroot; sirva apenas public/. Passos concretos para hospedagem compartilhada: este guia.

2

Não o commit no git

Adicione .env* ao .gitignore e compartilhe apenas um .env.example com valores vazios.

3

Gire tudo se ele vazar

Não apenas a chave confirmada — substitua todas as chaves que estavam no .env. Aja como se todas tivessem sido vistas.

4

Faça autoverificação regularmente

Crie o hábito de verificar que /.env não pode ser aberto no seu próprio site.

Autoverificação (apenas contra domínios que você possui)

# Um 200 com corpo significa que está exposto. 403/404 está ok por enquanto.
curl -sI https://yourdomain/.env | head -1
curl -sI https://yourdomain/.git/config | head -1

Verificar isso a cada deploy detecta erros de posicionamento cedo.

Leia a seguir

FAQ

QPosso commitar o .env no git?
A

Não. Adicione o .env ao .gitignore. Em vez disso, commit um .env.example com valores vazios para compartilhar quais chaves são necessárias.

QSe até mesmo um segredo vazar do .env, o que eu giro?
A

Não apenas o que você confirmou — gire todas as chaves que estavam no .env. Prioridade: segredos de API externa / OAuth → chaves de criptografia → e-mail → banco. Aja como se todas tivessem sido vistas.

QComo verifico se o .env vazou?
A

Abra https://seudominio/.env num navegador. Se o conteúdo aparecer, está exposto (200 com corpo = ruim). Se estiver bloqueado (403/404), você está bem por enquanto.