FernandoAcosta.Netdocs

Segurança dos certificados

2 min de leituraAtualizado há 5 dias

Os arquivos .key e .crt que você baixou do Banco Inter são credenciais. Quem tem acesso a esses dois arquivos pode emitir cobranças e mover dinheiro na sua conta. Tratar como senha é o mínimo.

A regra: fora do public_html

A pasta certa é qualquer diretório do servidor que não seja servido pela web. Em hospedagens cPanel típicas, isso é o nível acima do public_html. Em servidores próprios, qualquer pasta privada do usuário (ex: /home/usuario/inter/).

Se você seguiu a configuração inicial, os certificados já devem estar nessa região segura.

Quando não dá pra subir fora do public_html

Algumas hospedagens compartilhadas (geralmente as mais simples) não permitem que você navegue acima da raiz do site. Nesses casos:

  1. Primeiro, abra um chamado com a hospedagem perguntando o caminho privado correto pra guardar arquivos sensíveis. Quase sempre eles têm uma pasta dedicada — só não está documentada.
  2. Se mesmo assim não houver alternativa, mantenha os certificados dentro do public_html, mas barre o acesso direto via web.

Bloqueando acesso direto via Apache

Crie um arquivo chamado .htaccess (com o ponto na frente, sem aspas) na mesma pasta dos certificados, com este conteúdo:

deny from all

Ou, em servidores Apache 2.4+:

Require all denied

Isso instrui o Apache a recusar qualquer requisição HTTP que aponte pra arquivos dessa pasta. O plugin continua acessando normalmente porque lê os arquivos via PHP, não via web.

Pode não funcionar em todos os servidores

.htaccess depende do servidor processar a regra. Em Nginx, .htaccess é ignorado — bloqueio precisa ser feito no nginx.conf. Em hospedagens muito restritas, mesmo o Apache pode ignorar. Se não souber qual é o servidor, pergunte ao suporte da hospedagem como bloquear acesso público a uma pasta específica.

Confirmando que o bloqueio funciona

Tente abrir o arquivo .key direto no navegador, com a URL pública (algo como https://seusite.com.br/inter/key.key). Você deve receber 403 Forbidden ou um erro genérico do servidor.

Se o navegador baixar o arquivo ou mostrar conteúdo, o bloqueio falhou. Não use o plugin nesse estado — mova os certificados pra outro lugar antes.

Permitindo certificados em caminhos não-padrão

Por segurança, o plugin restringe os certificados ao diretório pai de ABSPATH (ou seja, um nível acima da raiz do WordPress). Se sua estrutura é diferente, libere via filter:

add_filter( 'wc_banco_inter_allow_external_files', '__return_true' );
Use o filter, não as configurações soltas

O filter é mais seguro do que mudar a checagem de caminho no plugin direto. Você documenta no functions.php (ou plugin custom) e pode reverter sem mexer nas configurações dos gateways.

Foi útil?