githubEditar

lock-keyholeConfigurar 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.jpeg

Se 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

Valor
Significado

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:

  1. tente abrir uma mídia diretamente

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