Como corrigir o bloqueio de AJAX entre All in One Security e JetEngine
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.
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
- 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 - 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 - 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 - 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 - 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
# .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>














