Servidor & DevOps 5 visualizações

Como configurar variáveis de ambiente (.env) com segurança numa aplicação em produção

Ver no WHMCS

Como Configurar Variáveis de Ambiente (.env) com Segurança em Produção – Guia do Sensei da GeHost

Olá, viajante do código! Aqui é o Sensei da GeHost, seu companheiro de jornada na nuvem. Hoje vamos falar de algo essencial — mas muitas vezes mal compreendido — para manter seu sistema seguro e funcionando bem no mundo real: como configurar variáveis de ambiente (.env) com segurança em produção.

Se você já usou Laravel, Node.js, Python ou qualquer framework moderno, já deve ter visto um arquivo chamado .env. Ele guarda senhas, chaves de API, URLs de banco de dados… coisas sensíveis. E aí vem a pergunta: como deixar essas informações seguras quando o site está no ar?

É aqui que entra a segurança em produção. O nosso objetivo é proteger essas variáveis — sem deixar o sistema quebrar. Vamos juntos, passo a passo?

Passo 1: Entenda o que é o arquivo .env

O arquivo .env é um arquivo simples, localizado na raiz do seu projeto, que contém pares chave-valor como:

DB_HOST=localhost
DB_USER=meu_usuario
DB_PASS=senha_segura123
API_KEY=chave_do_serviço-xyz

Esse arquivo não deve ser enviado ao GitHub — e ainda menos estar acessível via navegador. Ele é como um cofrinho com segredos do sistema.

Dica do Sensei: Nunca commita o .env no repositório de código. Use um .gitignore para bloquear esse arquivo.

Passo 2: Nunca deixe o .env acessível via navegador

Em produção, o mais comum é que o arquivo .env fique dentro da pasta public_html — e isso é um grande erro de segurança.

Se alguém acessar seusite.com.br/.env via navegador, ele terá acesso a todas as suas senhas e chaves. Isso é como deixar a porta do seu cofre aberta.

Resposta do Sensei: O arquivo .env deve estar fora da pasta pública — ou seja, não dentro de public_html.

Passo 3: Posicione o .env fora da pasta pública

Na GeHost, a estrutura padrão é:

  • public_html/ → onde o site é acessado pelo navegador
  • public_html/ → arquivos visíveis para o mundo
  • .. (pasta acima) → onde você pode colocar arquivos sensíveis

Então, o ideal é colocar o arquivo .env no diretório acima de public_html, ou seja, no diretório raiz da sua conta de hospedagem.

Exemplo de estrutura:

/
├── public_html/
│   ├── index.php
│   └── outras_paginas/
├── .env
└── outras_pastas/

Assim, o arquivo .env não pode ser acessado por ninguém via URL.

Passo 4: Use o Gerenciador de Arquivos do cPanel para organizar

Para colocar o arquivo no lugar certo, acesse o cPanel da sua hospedagem:

Tela de LOGIN do cPanel (campos Usuário e Senha + botão Log in)

Depois de logado, vá até o Gerenciador de Arquivos:

Painel inicial (home) do cPanel com os grupos de ferramentas (E-mail, Arquivos etc.)

Na tela seguinte, clique em “Document Root” (geralmente public_html) e, em seguida, clique no botão “Ir para” para entrar na pasta.

Depois, clique duas vezes no nome da pasta public_html para entrar nela. Em seguida, clique no botão “Voltar” (seta para cima) para sair da pasta pública.

Agora, você está no diretório raiz da sua conta — e é aqui que você deve colocar o arquivo .env.

Gerenciador de Arquivos (árvore de pastas: public_html etc.) e barra de ações

Suba o arquivo .env para essa pasta raiz (acima de public_html) usando o upload ou o editor de texto do cPanel.

Passo 5: Configure o seu código para ler o .env do local certo

Seu código precisa saber onde procurar o arquivo .env. Por exemplo, em PHP (com Laravel ou outro framework), você pode usar:

// Exemplo em PHP: definir o caminho do .env
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/..');
$dotenv->load();

Isso diz ao sistema: “vá uma pasta acima de onde estou, e pegue o arquivo .env”.

Dica do Sensei: Em frameworks como Laravel, o sistema já sabe buscar o .env automaticamente, desde que ele esteja no diretório correto (acima de public_html).

Passo 6: Evite variáveis sensíveis no código-fonte

Além do arquivo .env, nunca coloque senhas, chaves ou URLs de banco de dados diretamente no código.

Exemplo ruim:

$db_password = 'minhasenha123';

Exemplo bom:

$db_password = $_ENV['DB_PASS'];

Assim, o valor é lido do ambiente, não do código.

Passo 7: Use variáveis de ambiente do sistema (opcional, para segurança extra)

Na GeHost, você pode definir variáveis de ambiente diretamente no cPanel — isso é mais seguro que armazenar no arquivo .env.

Para isso:

  1. Acesse o cPanel“Configurações do PHP” (ou “PHP Settings”).
  2. Procure por “Variáveis de Ambiente”.
  3. Adicione pares como:
    • DB_PASSsenha_segura123
    • API_KEYchave_do_serviço-xyz

Com isso, o sistema lê essas variáveis diretamente do ambiente do servidor — sem precisar de um arquivo .env no disco.

Dica do Sensei: Use variáveis do sistema quando puder. Elas são mais seguras, pois não ficam no disco e não podem ser acessadas por erro de configuração.

Conclusão: Segurança é hábito, não acidente

Configurar variáveis de ambiente com segurança em produção não é um “tudo ou nada”. É um conjunto de pequenas ações que, juntas, protegem seu sistema.

Resumindo:

  • Nunca deixe o .env dentro de public_html.
  • Coloque o .env acima da pasta pública.
  • Use o .gitignore para não enviar o arquivo para o GitHub.
  • Leia as variáveis via $_ENV
Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.