Como corrigir o conflito do widget de login entre All in One Security e Elementor
O que é conflito do login widget AIOS Elementor?
O widget de login do Elementor renderiza seu próprio formulário na frente do site e envia as credenciais para o wp-login.php padrão do WordPress por POST. O All in One Security, por sua vez, tem recursos que interceptam esse mesmo wp-login.php: a prevencao de forca bruta baseada em cookie (que esconde a página de login atras de um secret word) e o CAPTCHA aplicado ao formulário de login. Quando um desses esta ativo, o AIOS espera condicoes que o widget do Elementor não satisfaz: o cookie do secret word ou o campo de CAPTCHA validado.
O resultado e um conflito: o usuário digita credenciais corretas no widget, mas em vez de logar, e redirecionado para o endereco de re-direct configurado no AIOS (por padrão o local 127.0.0.1) ou recebe falha de CAPTCHA. O formulário nativo do WordPress continua funcionando porque o AIOS injeta seus campos nele; o do Elementor não, porque o Elementor monta a própria marcacao.
Como identificar
- Ao enviar o widget de login do Elementor, a página abre ‘Esta página não esta funcionando’ ou não carrega, com a URL apontando para 127.0.0.1 (o Re-direct URL padrão do AIOS).
- A mensagem ‘ERROR: Your answer was incorrect, please try again.’ aparece após enviar o login, mesmo com usuário e senha corretos, quando o CAPTCHA do AIOS esta ligado.
- Login direto pela tela nativa wp-login.php funciona, mas o widget do Elementor sempre falha ou redireciona.
- Visitar a página que contem o widget faz o navegador ser redirecionado para o Re-direct URL antes mesmo de enviar o formulário, porque a página compartilha a rota protegida.
- No log do AIOS, em WP Security -> Brute Force, aparecem tentativas bloqueadas vindas do seu próprio IP no horario em que você tentou logar pelo widget.
Como prevenir
- Escolha um único ponto de proteção do login: ou o widget do Elementor PRO com reCAPTCHA próprio, ou o formulário nativo do WordPress protegido pelo AIOS, nunca os dois validando o mesmo POST.
- Se usar a prevencao por secret word do AIOS, nunca deixe o Re-direct URL no valor padrão 127.0.0.1; aponte sempre para uma página valida do site.
- Documente em um lugar acessivel ao time qual secret word e qual URL de login a equipe deve usar, para evitar bloqueio acidental de administradores.
- Ao alterar recursos de login do AIOS, limpe o cache de página e do Cloudflare em seguida, evitando que nonces antigos causem falha de autenticacao.
- Teste o fluxo de login em janela anonima após cada mudanca de segurança, simulando um usuário sem o cookie do secret word.
Causa
- A opção Enable Brute Force Attack Prevention esta marcada em WP Security -> Brute Force -> Login Page e um Secret Word foi definido, entao o wp-login.php so responde para quem já recebeu o cookie do secret word; o POST do widget do Elementor chega sem esse cookie e cai no Re-direct URL.
- O Re-direct URL do AIOS esta no valor padrão 127.0.0.1, fazendo o navegador do usuário tentar abrir o próprio computador após o envio do widget.
- O recurso de Login CAPTCHA esta ativo em WP Security -> Brute Force -> Login Captcha, que adiciona um campo de verificacao ao formulário nativo do WordPress; o widget do Elementor não renderiza esse campo, entao o wp-login.php rejeita o POST por CAPTCHA ausente.
- A página onde o widget foi inserido tem a mesma rota protegida pelo secret word (por exemplo uma página chamada login), fazendo o AIOS redirecionar a própria página antes de o usuário enviar credenciais.
- O cache de página (plugin de cache ou Cloudflare) serviu uma versão antiga da página de login com nonce ou campos do AIOS expirados, gerando falha de validação ao enviar o widget.
Como resolver
- Confirmar qual recurso do AIOS esta interceptando o login: No painel do WordPress, abra a área de segurança do plugin e a aba de proteção de forca bruta. Verifique quais recursos estão ligados: a renomeacao por secret word e o CAPTCHA de login são os dois que quebram formulários de terceiros. Anote o valor atual do Re-direct URL antes de mudar qualquer coisa.
WP Security -> Brute Force -> Login Page (Cookie-Based Brute Force Prevention) WP Security -> Brute Force -> Login Captcha - Corrigir o Re-direct URL para não apontar para 127.0.0.1: Se você optar por manter a prevencao de forca bruta ligada, troque o destino padrão do redirecionamento para uma URL valida do próprio site. Assim, mesmo um acesso sem cookie não tenta abrir o computador local do usuário. Esse campo fica na mesma aba da prevencao por secret word.
WP Security -> Brute Force -> Login Page -> Re-direct URL https://seusite.com.br/ - Desligar o CAPTCHA do login nativo ou liberar o formulário do Elementor: Como o widget do Elementor não renderiza o campo de CAPTCHA do AIOS, desmarque o CAPTCHA aplicado ao formulário de login nativo para que o POST do widget seja aceito. Se você precisa de CAPTCHA, use o reCAPTCHA do próprio widget do Elementor PRO em vez do CAPTCHA do AIOS, evitando dois validadores no mesmo POST.
WP Security -> Brute Force -> Login Captcha -> Enable Captcha On Login Page = desmarcado - Apontar o widget do Elementor para a URL de login correta e limpar cache: No widget de login do Elementor, garanta que o Redirect After Login aponte para uma página valida e que a página que hospeda o widget não use a mesma rota do secret word. Depois limpe o cache do site e do Cloudflare para que nonces e campos antigos não causem falha de validação.
Elementor -> Login Widget -> Redirect After Login -> URL valida do painel wp cache flush - Testar o login pelo widget em janela anonima: Abra a página do widget em uma janela anonima, sem o cookie do secret word, e faca login com uma conta de teste. Se autenticar e cair na página certa, o conflito esta resolvido. Caso ainda redirecione, revise se algum recurso de renomeacao de login permaneceu ativo em outra aba do plugin.
Janela anonima -> abrir a página do widget -> enviar credenciais de teste
// Em functions.php do tema filho: libera o POST do widget de login do Elementor
// quando o AIOS esta com a prevencao por secret word ligada.
// Reescreve o link de login do widget para incluir o secret word via cookie.
add_filter( 'login_url', function ( $login_url, $redirect ) {
// Substitua MEU_SECRET_WORD pelo secret word configurado no AIOS.
$secret = 'MEU_SECRET_WORD';
$login_url = add_query_arg( $secret, '1', home_url( '/' ) );
if ( ! empty( $redirect ) ) {
$login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
}
return $login_url;
}, 20, 2 );














