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:
- 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.
- 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.
.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' );
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.