🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como corrigir o bloqueio de upload de arquivos entre o All In One Security e o WPForms no WordPress

Time Full Services Time Full Services
Tipo Seguranca
Nome do erro Upload de arquivo do WPForms bloqueado pelo AIOS EN: 403 Forbidden
Severidade Grave
Descrição O AIOS bloqueia upload no WPForms quando uma regra de firewall, o filtro de strings ou a proteção de arquivos PHP do All In One Security barra a requisicao POST do envio, fazendo o formulário retornar erro 403 ou falhar silenciosamente ao anexar o arquivo.

O que é bloqueio de upload entre AIOS e WPForms?

O AIOS bloqueia upload no WPForms quando uma camada de proteção do All In One Security intercepta a requisicao que carrega o arquivo do formulário antes dela chegar ao WordPress. O WPForms usa um campo File Upload que envia o anexo por uma requisicao POST (no modo classico, AJAX para o admin-ajax.php; no modo moderno, um upload incremental antes do submit). Quando uma regra do AIOS considera essa requisicao suspeita, ela e barrada e o usuário ve um erro de envio ou um 403, mesmo com o resto do formulário funcionando.

A documentação oficial do All In One Security avisa que os recursos intermediarios e avancados podem quebrar o site se entrarem em conflito com outro plugin ou tema, e recomenda backup antes de ativa-los. As funções que mais causam esse bloqueio são o firewall avancado (regras 6G/6G blacklist), o filtro avancado de strings de caracteres, a proteção que impede execução e upload de arquivos PHP no diretório de uploads e o bloqueio de bad query strings, todas pensadas para barrar upload malicioso, mas que também podem barrar o anexo legitimo do WPForms.

Como identificar

  • O envio do formulário retorna a mensagem do WPForms ‘Form has not been submitted, please see the errors below’ sem detalhar a causa, e o anexo nunca chega.
  • Ao anexar o arquivo aparece um erro HTTP, geralmente ‘403 Forbidden’, vindo do servidor antes do WordPress processar o envio.
  • Formulários sem campo de upload enviam normalmente, mas qualquer formulário com o campo File Upload do WPForms falha sempre.
  • Arquivos PHP ou arquivos com extensão incomum são recusados enquanto imagens pequenas as vezes passam, indicando bloqueio por tipo e não por tamanho.
  • No console do navegador o request do upload para admin-ajax.php ou para o endpoint do WPForms retorna 403 ou e cancelado pelo servidor.
  • O log de eventos do AIOS, em WP Security, registra a requisicao do envio como bloqueada pelo firewall no mesmo horario da tentativa de upload.
Antes de começar: Antes de alterar regras de firewall, mexer no .htaccess ou desativar protecoes de upload, faça um backup completo do site (arquivos e banco de dados) e, de preferencia, teste em um ambiente de staging. A própria documentação do AIOS recomenda backup antes de ativar ou desativar recursos avancados, porque uma regra mal removida pode reabrir o site a upload malicioso.

Como prevenir

  • Ative os recursos avancados do AIOS de forma gradual e teste o envio de formulários com anexo logo após cada ativacao, conforme a própria doc do plugin recomenda.
  • Mantenha no campo File Upload do WPForms apenas as extensões que você realmente aceita, reduzindo a chance de um tipo de arquivo cair em alguma regra do AIOS.
  • Documente quais regras do firewall do AIOS precisaram de excecao para o WPForms, para não reativa-las por engano em uma futura revisao de segurança.
  • Monitore o log de eventos do AIOS após cada atualização do AIOS ou do WPForms, já que mudancas no endpoint de upload podem voltar a esbarrar em uma regra existente.
  • Prefira ajustar regras especificas a desligar o firewall inteiro, mantendo a proteção contra upload malicioso enquanto libera o anexo legitimo do formulário.

Causa

  • As regras 6G blacklist do firewall do AIOS, no menu WP Security > Firewall, barram a query string ou o user agent da requisicao de upload do WPForms por considera-la padrão de ataque, devolvendo 403 ao anexo.
  • A proteção 'Prevent execution of PHP files in the uploads directory' do AIOS grava regra no .htaccess da pasta wp-content/uploads e impede que o WPForms escreva ou sirva o arquivo enviado a partir desse diretório.
  • O filtro avancado de strings de caracteres (Advanced character string filter) do firewall do AIOS interpreta o conteúdo binario do arquivo ou o nome com caracteres especiais como string maliciosa e bloqueia o POST inteiro.
  • A regra 'Deny bad query strings' do AIOS rejeita o request de upload do WPForms quando o nome do arquivo ou os parametros do AJAX contem caracteres que a regra trata como suspeitos.
  • O bloqueio de upload de arquivos PHP ou de extensões não permitidas pelo AIOS recusa anexos cujo tipo MIME não esta na lista liberada, mesmo quando o WPForms permite aquela extensão no campo File Upload.
  • Uma regra de bloqueio por 404 ou por user agent do AIOS coloca em lockout o IP do visitante durante o envio, derrubando a requisicao de upload junto com o restante da navegação.

Como resolver

  1. Confirme que o bloqueio vem do AIOS: Desative temporariamente o All In One Security e tente o upload de novo no formulário. Se o anexo passar com o AIOS desativado, o bloqueio e dele e você isola a camada certa antes de mexer em qualquer regra.
    Painel WP -> Plugins -> Plugins Instalados
    Desative 'All-In-One Security (AIOS)' e refaca o envio do formulário
    Reative o AIOS após confirmar que o upload volta a funcionar sem ele
  2. Identifique a regra que bloqueou no log do AIOS: Abra o log de eventos e de IPs bloqueados do AIOS e procure a entrada no mesmo horario da tentativa de upload. O log mostra se quem barrou foi o firewall, o filtro de strings ou um lockout de IP, evitando desligar a proteção errada.
    Painel WP -> WP Security -> Audit log / Logs
    Procure a requisicao de envio do formulário marcada como bloqueada no horario do teste
    Anote o tipo de regra citada (firewall, character string filter ou lockout de IP)
  3. Ajuste o firewall do AIOS de básico para um nível que não barre o POST: No firewall do AIOS, desligue as regras 6G blacklist e o filtro avancado de strings de caracteres e mantenha apenas o nível de firewall básico. A própria doc do AIOS avisa que recursos avancados podem quebrar funcionalidades ao conflitar com outro plugin, entao reduza o nível antes de retestar.
    Painel WP -> WP Security -> Firewall
    Desative '6G Blacklist Firewall Rules' e 'Advanced character string filter'
    Salve e tente o upload novamente no formulário
  4. Reveja a proteção de PHP no diretório de uploads: Se o WPForms grava o anexo em wp-content/uploads, a proteção do AIOS que bloqueia PHP nesse diretório pode atrapalhar. Desligue essa proteção temporariamente para testar; se resolver, prefira uma regra mais específica que libere o caminho do WPForms em vez de manter o bloqueio total.
    Painel WP -> WP Security -> Filesystem Security
    Desative 'Prevent execution of PHP files in the uploads directory' e retire a regra do .htaccess de uploads se necessário
    Refaca o upload e confirme se o anexo e gravado e servido
  5. Libere as extensões de arquivo no campo do WPForms: Abra o campo File Upload do formulário no WPForms e confirme que as extensões que você quer receber estão na lista de permitidas. Casar a lista do WPForms com o que o AIOS deixa passar evita que o tipo MIME do anexo seja recusado por uma das duas camadas.
    Painel WP -> WPForms -> abra o formulário -> clique no campo File Upload
    Em Advanced, ajuste 'Allowed File Extensions' apenas para os tipos seguros que você aceita
    Salve o formulário e teste o envio de um arquivo de cada extensão liberada
  6. Reative as protecoes uma a uma: Com o upload funcionando, ligue de volta as regras do AIOS uma de cada vez e teste o envio após cada uma. Assim você mantem a maior proteção possível e identifica exatamente qual regra precisa de excecao para o WPForms.
    Painel WP -> WP Security -> Firewall -> reative cada regra isoladamente
    Após cada reativacao, envie o formulário com anexo e observe o log do AIOS
    Deixe desativada somente a regra que volta a bloquear o upload
APACHE
# .htaccess em wp-content/uploads/wpforms/
# Permite servir os anexos do WPForms sem reabrir execucao de PHP no resto da pasta.
# Use apenas se a protecao do AIOS estiver barrando o caminho do WPForms.

<IfModule mod_authz_core.c>
    # Apache 2.4: libera o acesso aos arquivos enviados pelo formulario
    Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
    # Apache 2.2
    Order allow,deny
    Allow from all
</IfModule>

# Mantem o bloqueio de execucao de PHP, mesmo liberando o download dos anexos
<FilesMatch ".(php|php5|php7|phtml|pht)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

Perguntas frequentes

Por que o AIOS bloqueia o upload de arquivos no WPForms
Porque uma camada de proteção do All In One Security intercepta a requisicao POST que carrega o anexo. Em geral e o firewall avancado, o filtro de strings de caracteres ou a proteção de PHP no diretório de uploads que trata o envio como suspeito e devolve 403, mesmo o arquivo sendo legitimo.
Como descobrir qual regra do AIOS barrou o envio do formulário
Abra o log de eventos e de IPs bloqueados em WP Security e procure a entrada no mesmo horario da tentativa de upload. O log indica se quem barrou foi o firewall, o filtro de strings ou um lockout de IP, evitando que você desligue a proteção errada.
Preciso desligar o AIOS inteiro para o WPForms voltar a aceitar uploads
Não. Desative o AIOS apenas para confirmar a origem do bloqueio e, depois, reative-o e ajuste so a regra que barra o envio. Desligar o plugin todo deixa o site exposto sem necessidade quando o problema esta em uma única regra do firewall.
A proteção de PHP no diretório de uploads do AIOS atrapalha o WPForms
Pode atrapalhar quando o WPForms grava o anexo em wp-content/uploads, porque o AIOS adiciona uma regra no .htaccess que bloqueia execução de PHP nessa pasta. Teste desligando essa proteção; se resolver, prefira uma regra específica para o caminho do WPForms em vez do bloqueio total.
O erro 403 no upload do WPForms sempre vem do AIOS
Nem sempre, mas o AIOS e uma causa comum. Confirme desativando o plugin e refazendo o envio; se o upload passar sem ele, o 403 vinha de uma regra do AIOS. Se continuar bloqueado, investigue também o firewall do servidor ou da CDN.
Quais regras do firewall do AIOS costumam barrar o WPForms
As regras 6G blacklist, o filtro avancado de strings de caracteres e o bloqueio de bad query strings são as que mais barram o envio, porque analisam a query string e o conteúdo do POST do upload. Mantenha o firewall em nível básico e reative essas regras uma a uma testando o formulário.
Por que so os formulários com campo de upload falham
Porque apenas esses formulários enviam um arquivo na requisicao. As regras do AIOS que inspecionam o conteúdo do POST, o nome do arquivo ou o tipo MIME so disparam quando ha anexo, entao formulários de texto passam e os de upload são bloqueados.
E seguro liberar o upload de arquivos depois de ajustar o AIOS
Sim, desde que você restrinja as extensões aceitas no campo File Upload do WPForms e reative as demais protecoes do AIOS. Libere apenas tipos seguros, evite permitir PHP e outros executaveis, e mantenha backup para reverter qualquer mudanca que reabra um risco.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes