🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o bloqueio de AJAX entre All in One Security e JetEngine

Time Full Services Time Full Services
Tipo Seguranca
Nome do erro All in One Security bloqueia AJAX do JetEngine EN: All in One Security blocking JetEngine AJAX
Severidade Grave
Descrição O bloqueio de AJAX entre AIOS e JetEngine ocorre quando uma regra avancada do firewall do All in One Security inspeciona o POST para admin-ajax.php e devolve 403, fazendo os componentes dinâmicos do JetEngine pararem de carregar. A causa quase sempre e a regra 6G de query string ou o filtro de string avancado.

O que é o bloqueio de AJAX entre AIOS e JetEngine?

O All in One Security (AIOS) traz um firewall em camadas (Básico, Intermediario e Avancado) que inspeciona cada requisicao antes de chegar ao WordPress. O JetEngine, da Crocoblock, depende de chamadas AJAX para o arquivo admin-ajax.php para alimentar Listing Grids, paginação, Load More, JetSmartFilters e Dynamic Visibility. Quando uma regra avancada do AIOS interpreta esse tráfego legitimo do JetEngine como ataque, ela devolve 403 Forbidden e o componente dinâmico simplesmente não carrega na página.

Como identificar

  • O Listing Grid, o Load More ou os filtros do JetSmartFilters ficam girando o spinner e nunca trazem resultados, mesmo com posts existentes.
  • Na aba Rede do navegador (F12), a chamada para admin-ajax.php com a action do JetEngine retorna status 403 Forbidden em vez de 200.
  • A resposta da requisicao mostra a página ‘Forbidden’ / ‘Acesso negado’ do firewall em vez do JSON esperado pelo JetEngine.
  • Tudo volta a funcionar com o AIOS desativado e quebra de novo assim que o plugin e reativado.
  • O log do firewall em WP Security registra a entrada bloqueada com a rota admin-ajax.php no exato momento em que o componente do JetEngine tenta carregar.
Antes de começar: Faca backup do site e do arquivo .htaccess antes de mexer no firewall. Se o site sair do ar ao ativar uma regra avancada, a documentação do AIOS orienta desativar o plugin e restaurar o .htaccess para voltar a um estado seguro. Nunca desligue o firewall inteiro de forma permanente para ‘resolver’ o AJAX: prefira desativar so a regra culpada e liberar a rota admin-ajax.php por allowlist.

Como prevenir

  • Ative regras intermediarias e avancadas do AIOS uma de cada vez, testando um Listing Grid e um filtro do JetEngine a cada ativacao.
  • Mantenha o seu IP de gestão e os IPs de serviço (CDN, proxy reverso) na allowlist do firewall para evitar bloqueios em cascata do 404 Detection.
  • Em staging, rode o firewall no nível máximo e exercite todos os componentes AJAX do JetEngine antes de aplicar a mesma configuração no site ao vivo.
  • Revise o log do firewall do AIOS semanalmente para pegar bloqueios da rota admin-ajax.php antes que virem componente quebrado para o visitante.

Causa

  • Regra 6G de bloqueio de query strings (Other 6G Settings -> Block query strings) do AIOS barrando os parametros que o JetSmartFilters e a paginação do Listing Grid anexam na chamada admin-ajax.php.
  • Filtro de string avancado (Advanced Character String Filter) do AIOS rejeitando caracteres legitimos como colchetes, aspas ou cifrao presentes no payload serializado das queries dinâmicas do JetEngine.
  • Regra de bloqueio de métodos de requisicao do AIOS recusando o POST que o JetEngine usa para o Load More e para salvar dados de Data Stores via admin-ajax.php.
  • 404 Detection / Login Lockout do AIOS marcando o IP do visitante como malicioso depois de várias chamadas AJAX seguidas do JetEngine e bloqueando as requisicoes seguintes.
  • Regra de bloqueio de proxy ou User Agent do AIOS derrubando requisicoes do JetEngine que passam por CDN ou proxy reverso e chegam com cabeçalho de origem diferente.

Como resolver

  1. Confirme que o bloqueio e do firewall do AIOS: reproduza a acao do JetEngine que falha com o painel de Rede do navegador aberto e anote a chamada admin-ajax.php que retorna 403; depois compare com o log do firewall do AIOS no mesmo horario. Se a rota aparece bloqueada ali, o firewall e a causa.
    WP Security -> Firewall -> Firewall logs
    WP Security -> Brute Force -> 404 Detection
  2. Isole a regra avancada que quebra o AJAX do JetEngine: volte o firewall para o nível Básico, confirme que o componente do JetEngine volta a carregar e reative as regras Intermediarias e Avancadas uma de cada vez, testando o Listing Grid a cada ativacao, conforme orienta a documentação do AIOS. A regra que derruba o AJAX ao ser ligada e a culpada.
    WP Security -> Firewall -> Basic Firewall Rules
    WP Security -> Firewall -> Additional Firewall Rules
    WP Security -> Firewall -> 6G Blacklist Firewall Rules
  3. Desligue a regra 6G de query string ou o filtro de string avancado: se a regra culpada for o bloqueio de query strings das Other 6G Settings ou o Advanced Character String Filter, desative essa opção específica em vez de baixar o firewall inteiro, porque ela e a que mais barra o payload legitimo do JetEngine.
    WP Security -> Firewall -> 6G Blacklist Firewall Rules -> Other 6G Settings -> Block query strings -> Off
    WP Security -> Firewall -> Additional Firewall Rules -> Advanced Character String Filter -> Off
  4. Libere o seu IP de gestão na allowlist do AIOS: adicione o seu próprio IP na allowlist do firewall e do 404 Detection para parar de ser bloqueado durante os testes, e desbloqueie qualquer IP de visitante que tenha sido marcado por engano enquanto navegava nos componentes dinâmicos.
    WP Security -> Settings -> Allowlist
    WP Security -> Brute Force -> 404 Detection -> IP Whitelist
  5. Valide o JetEngine de ponta a ponta: recarregue a página com os componentes do JetEngine, aplique um filtro do JetSmartFilters e use o Load More, confirmando na aba Rede que a chamada admin-ajax.php agora retorna 200 e o JSON do JetEngine, sem nenhum 403 no log do firewall.
    WP Security -> Firewall -> Firewall logs
    JetEngine -> Listings
APACHE
# .htaccess — libera a rota AJAX do JetEngine do firewall por .htaccess do AIOS
# (cole ACIMA do bloco '# BEGIN All In One WP Security' gerado pelo plugin)
<IfModule mod_rewrite.c>
    RewriteEngine On
    # nao deixa as regras 6G do AIOS inspecionarem o POST do admin-ajax.php
    RewriteCond %{REQUEST_URI} /wp-admin/admin-ajax.php [NC]
    RewriteRule .* - [L]
</IfModule>

Perguntas frequentes

Como sei se e o AIOS que esta bloqueando o AJAX do JetEngine
Abra a página com a aba Rede do navegador (F12) e dispare a acao do JetEngine que falha: se a chamada admin-ajax.php retornar 403, cheque o log do firewall do AIOS no mesmo horario. Se a rota aparece bloqueada ali, a causa e o firewall do plugin e não o JetEngine.
Qual regra do AIOS mais quebra o JetEngine
Na maioria dos casos e o bloqueio de query strings das Other 6G Settings ou o Advanced Character String Filter, porque inspecionam o conteúdo da requisicao e barram caracteres legitimos do payload do JetSmartFilters e do Listing Grid. A documentação do AIOS alerta que recursos avancados podem conflitar com outros plugins.
Preciso desativar o firewall inteiro para o JetEngine voltar
Não. Volte ao nível Básico so para confirmar o diagnostico e depois reative as regras uma a uma até achar a culpada. Desligue apenas essa regra específica e mantenha o resto do firewall ligado, preservando a segurança do site.
O Listing Grid carrega mas o Load More ou os filtros não. Por que
O primeiro render vem do servidor e não passa por AJAX, mas o Load More e os filtros do JetSmartFilters disparam novos POSTs para admin-ajax.php. São essas chamadas que a regra 6G ou o filtro de string avancado barram, por isso o componente aparece mas para de responder na interacao.
Desligar a regra 6G de query string deixa o site inseguro
Desligar so o bloqueio de query strings reduz uma camada específica, mas o restante do firewall do AIOS continua ativo. O risco e baixo perto de quebrar funcionalidade legitima, e você ainda pode compensar liberando apenas a rota admin-ajax.php por regra no servidor em vez de baixar o filtro inteiro.
O AJAX do JetEngine quebrou de novo depois de um update. Como evito
Atualizações do AIOS podem reativar ou ajustar regras 6G. Teste os componentes do JetEngine em staging com o firewall no nível máximo antes de aplicar o update na producao e mantenha o seu IP na allowlist para não ser bloqueado durante a validação.
Vale a pena usar regra no servidor em vez de desligar a opção no painel
Sim, quando você quer manter o filtro de string ligado para o resto do site. Uma regra no .htaccess ou no Nginx que exclui a rota admin-ajax.php da inspecao do firewall libera so o JetEngine e preserva a proteção nas demais rotas, o que e mais seguro do que desativar a opção globalmente.

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