Configurar Controle de Acesso à Pasta Public (.env)
Por padrão, a pasta /public do sistema fica acessível pela internet.
Isso significa que qualquer pessoa que saiba o link completo do arquivo pode acessá-lo.
Exemplo de acesso direto:
https://seu-dominio.com/public/1/202603/9561/4L4cJ-1773171521517_GYMBSbj7L7.jpegSe alguém souber o caminho completo, poderá abrir o arquivo.
Para evitar isso, o sistema possui um sistema de proteção de mídia que restringe o acesso apenas para IPs autorizados ou requisições autenticadas.
📌 Quando ativar essa proteção
Recomendado quando:
seu sistema possui arquivos privados
você deseja impedir acesso direto às mídias
o servidor é exposto publicamente
⚠️ Atenção: Algumas integrações externas podem precisar acessar os arquivos.
Exemplos de integrações que podem precisar acesso:
APIs externas
automações
integrações como Plus ou Hub
Por isso é importante testar após ativar.
1️⃣ Acessar o servidor
Você precisa acessar o servidor onde o sistema está instalado.
Normalmente isso é feito usando:
SSH
SFTP
Um cliente muito usado é o Bitvise SSH Client.
2️⃣ Localizar o arquivo .env
O arquivo .env fica dentro da pasta do backend.
Caminho padrão:
3️⃣ Editar o arquivo .env
Abra o arquivo .env usando um editor.
Se estiver usando SFTP, basta clicar com botão direito e escolher Editar.
4️⃣ Ativar proteção de mídia
Adicione ou altere as seguintes configurações:
Isso ativa o controle de acesso aos arquivos da pasta public.
5️⃣ Definir IPs permitidos
Agora você precisa definir quais IPs podem acessar os arquivos diretamente.
Adicione:
Explicação
127.0.0.1
acesso local
::1
localhost IPv6
192.168.1.*
rede local
10.0.0.50
IP específico
O sistema também suporta wildcards:
Isso permite qualquer IP dessa rede.
6️⃣ Criar uma API Key para acesso externo
Se algum sistema externo precisar acessar as mídias, você pode usar uma API Key.
Adicione no .env:
Exemplo:
7️⃣ Como acessar mídia com API Key
Após configurar a chave, o acesso pode ser feito de duas formas.
Método 1 — Via URL
Adicionando a chave na URL:
Exemplo:
Método 2 — Via Header HTTP
Usando header x-api-key
Exemplo usando curl:
8️⃣ Salvar alterações
Depois de editar o .env, salve o arquivo.
9️⃣ Reiniciar o backend
Para aplicar as alterações é necessário reiniciar o container.
Execute no terminal:
🔎 Como testar a proteção
Após reiniciar:
tente abrir uma mídia diretamente
sem API key o acesso deve ser bloqueado
Exemplo:
Se a proteção estiver ativa, o acesso será negado.
Depois teste com API key:
⚠️ Problemas comuns
APIs externas pararam de enviar mídia
Pode acontecer quando:
o IP não está liberado
a API não usa API Key
Solução:
adicionar IP na lista
usar API Key
✔️ Resumo da configuração
Configuração final no .env:
Depois reinicie:
💡 Dica de segurança
Use sempre:
uma API key forte
IPs restritos
e monitore os logs regularmente.
Atualizado