Como corrigir o checkout bloqueado pelo firewall do All in One Security no WooCommerce
O que é o checkout bloqueado pelo AIOS no WooCommerce?
O All in One Security (AIOS) traz um firewall em camadas (Básico, Intermediario e Avancado) que inspeciona requisicoes antes de chegarem ao WordPress. O checkout do WooCommerce envia POSTs grandes, com endereco, dados de cobranca e respostas de gateway, e dispara chamadas AJAX para admin-ajax.php e para a Store API. Quando uma regra avancada do AIOS interpreta esse tráfego legitimo como ataque, ela devolve 403 Forbidden e o cliente nunca finaliza a compra.
Como identificar
- O cliente clica em ‘Finalizar compra’ / ‘Place order’ e a tela mostra ‘Forbidden’ ou ‘Acesso negado’, com código 403 no navegador.
- Na aba Rede do navegador (F12), a chamada para admin-ajax.php ou para a rota wc/store/v1/checkout retorna status 403.
- O checkout funciona com o AIOS desativado e volta a falhar assim que o plugin e reativado.
- O log do firewall em WP Security registra a entrada bloqueada com o IP do cliente no exato momento da tentativa de pagamento.
- Pedidos ficam presos em ‘Pagamento pendente’ porque o callback (IPN/webhook) do gateway também e barrado pelo firewall.
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 desative o firewall inteiro de forma permanente para ‘resolver’ o checkout: prefira desligar so a regra culpada e liberar a rota por allowlist.
Como prevenir
- Ative regras intermediarias e avancadas do AIOS uma de cada vez, testando um pedido de checkout a cada ativacao.
- Mantenha na allowlist do firewall o seu IP de gestão e as faixas de IP dos webhooks dos gateways de pagamento que você usa.
- Em staging, rode o firewall no nível máximo e simule uma compra completa antes de aplicar a mesma configuração na loja ao vivo.
- Monitore o log do firewall do AIOS semanalmente para pegar bloqueios de clientes legitimos antes que virem carrinho abandonado.
Causa
- Filtro de string avancado (Advanced Character String Filter) do AIOS barrando parametros legitimos do POST de checkout que contem caracteres como aspas, colchetes ou cifrao nos dados de cobranca.
- Regras 6G / 6G blacklist do AIOS bloqueando o método POST ou query strings da rota admin-ajax.php usada pelo checkout AJAX do WooCommerce.
- Regra de bloqueio de métodos de requisicao ou de proxy do AIOS rejeitando os callbacks de gateway (IPN/webhook) vindos de IPs externos como PayPal, Stripe ou Mercado Pago.
- 404 Detection / Login Lockout do AIOS marcando o IP do cliente como malicioso depois de vários POSTs seguidos e bloqueando o checkout no meio do fluxo.
- Pais do cliente barrado pelo Country Blocking do AIOS, derrubando a requisicao de pagamento antes de chegar ao gateway.
Como resolver
- Confirme que o bloqueio e do AIOS: reproduza o checkout com o painel de Rede do navegador aberto e anote a rota que retorna 403; depois compare com o log do firewall do AIOS no mesmo horario. Se o IP do comprador aparece bloqueado no momento do pagamento, o firewall e a causa.
WP Security -> WAF -> Firewall logs WP Security -> Brute Force -> 404 Detection - Isole a regra avancada que quebra o checkout: volte o firewall para o nível Básico, confirme que o checkout volta a funcionar e reative as regras Intermediarias e Avancadas uma de cada vez, testando uma compra a cada ativacao, conforme orienta a documentação do AIOS. A regra que derruba o checkout ao ser ligada e a culpada.
WP Security -> WAF -> Basic Firewall Rules WP Security -> WAF -> Additional Firewall Rules WP Security -> WAF -> 6G Blacklist Firewall Rules - Desligue o filtro de string avancado para o checkout: se a regra culpada for 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 dados legitimos de cobranca.
WP Security -> WAF -> Additional Firewall Rules -> Advanced Character String Filter -> Off - Libere o IP do gateway e o seu IP de teste: adicione na allowlist do AIOS o seu próprio IP e a faixa de IPs de callback do gateway de pagamento para que os webhooks de confirmacao não sejam barrados pelo firewall nem pelo 404 Detection.
WP Security -> Brute Force -> 404 Detection -> IP Whitelist WP Security -> Settings -> Allowlist - Valide o ciclo de compra de ponta a ponta: faca um pedido real de baixo valor, confirme que o status muda de 'Pagamento pendente' para 'Processando' e cheque o log do gateway para garantir que o webhook chegou sem 403.
WooCommerce -> Pedidos WooCommerce -> Status -> Logs
APACHE
# .htaccess — libera as rotas dinamicas do checkout WooCommerce do firewall AIOS
# (cole ACIMA do bloco '# BEGIN All In One WP Security' gerado pelo plugin)
<IfModule mod_rewrite.c>
RewriteEngine On
# nao deixa o firewall por .htaccess do AIOS inspecionar o POST do checkout
RewriteCond %{REQUEST_URI} (/wp-admin/admin-ajax.php|/wp-json/wc/store/) [NC]
RewriteRule .* - [L]
# libera o callback do gateway (ajuste o caminho do webhook do seu provedor)
RewriteCond %{REQUEST_URI} (/wc-api/|/?wc-ajax=checkout) [NC]
RewriteRule .* - [L]
</IfModule>
Perguntas frequentes
Como sei se e o AIOS que esta bloqueando o checkout
Abra o checkout com a aba Rede do navegador (F12) e tente finalizar: se a rota admin-ajax.php ou wc/store/v1/checkout retornar 403, cheque o log do firewall do AIOS no mesmo horario. Se o IP do comprador aparece bloqueado ali, a causa e o firewall do plugin.
Qual regra do AIOS mais quebra o checkout do WooCommerce
Na maioria dos casos e o Advanced Character String Filter ou as regras 6G, porque inspecionam o conteúdo do POST e barram caracteres legitimos dos dados de cobranca. A documentação do AIOS alerta que recursos avancados podem conflitar com outros plugins e quebrar o site.
Preciso desativar o firewall inteiro para o checkout 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 da loja.
O pagamento confirma mas o pedido fica pendente. Por que
O callback do gateway (IPN ou webhook) chega de um IP externo e pode ser barrado pelo firewall ou marcado pelo 404 Detection. Adicione as faixas de IP do gateway na allowlist do AIOS para que a confirmacao de pagamento passe e o pedido mude para 'Processando'.
Clientes de um pais específico não conseguem pagar. Pode ser o AIOS
Sim. O Country Blocking do AIOS derruba requisicoes daquele pais antes de chegarem ao gateway. Se você vende para esse pais, remova-o da lista de bloqueio ou use a allowlist de IP para liberar os gateways e clientes legitimos.
Ativei uma regra e o site saiu do ar inteiro. Como recupero
A documentação do AIOS orienta desativar o plugin e restaurar o arquivo .htaccess para o site voltar a um estado seguro. Por isso o backup antes de mexer no firewall e obrigatório: ele permite reverter o .htaccess em segundos.
Como evito que isso volte a acontecer após um update
Sempre teste um pedido completo em staging com o firewall no nível máximo antes de aplicar na loja ao vivo, e mantenha o seu IP e os IPs dos gateways na allowlist. Revise o log do firewall semanalmente para pegar bloqueios de clientes cedo.














