Como corrigir o acesso de alunos bloqueado pelo All in One Security no Tutor LMS
O que é o bloqueio do AIOS no Tutor LMS?
O All in One Security (AIOS) tem recursos de proteção de login (Brute Force Prevention por cookie, Login Lockdown e Rename Login Page) que assumem que todo mundo entra pelo wp-login.php padrão. O Tutor LMS faz o contrario: o aluno se cadastra e entra por um formulário no frontend (o painel do aluno em /dashboard/ e o login embutido nas páginas de curso), que envia a autenticacao para o wp-login.php ou para uma acao AJAX. Quando o AIOS endurece o login, esse caminho do frontend deixa de ter o que o plugin espera (a palavra secreta na URL ou o cookie) e o aluno e bloqueado, redirecionado ou trancado por excesso de tentativas.
Como identificar
- O aluno preenche usuário e senha no painel do Tutor LMS, clica em entrar e a página recarrega no mesmo formulário sem mensagem de erro, ou o login simplesmente não avanca.
- Após a tentativa de login pelo curso, o navegador redireciona para um endereco estranho como ‘http://127.0.0.1’ em vez de abrir o painel do aluno.
- O aluno recebe a mensagem de tentativas excedidas tipo ‘Você excedeu o número máximo de tentativas de login’ e o acesso fica travado por alguns minutos.
- O cadastro de novo aluno no frontend conclui, mas o login seguinte falha; o problema some quando o AIOS e desativado e volta quando ele e religado.
- Na aba Rede do navegador (F12), a requisicao de login para wp-login.php ou para admin-ajax.php retorna status 403 ou um redirect 302 para a URL de bloqueio do AIOS.
Como prevenir
- Antes de ligar a Brute Force Prevention por cookie, confirme se o tema ou o Tutor LMS usam login no frontend; se usam, prefira o Login Lockdown com limite tolerante a esconder o wp-login.php.
- Mantenha o seu IP de gestão na allowlist do AIOS para nunca ser trancado pelo próprio firewall ao testar o fluxo do aluno.
- Defina um Max Login Attempts que tolere o erro de senha normal de um aluno (por exemplo 5 ou mais) em vez do valor mínimo.
- Se for renomear a página de login, teste o cadastro e o login de um aluno de ponta a ponta antes de liberar o curso ao público.
- Troque o Redirect URL do padrão http://127.0.0.1 para a home do site, para que um bloqueio acidental ao menos caia numa página real.
Causa
- Brute Force Prevention por cookie ligada em Firewall -> Brute Force Prevention, escondendo o wp-login.php atras da palavra secreta; o login do frontend do Tutor LMS não tem o cookie e cai no Redirect URL.
- Redirect URL da Brute Force Prevention deixado no padrão http://127.0.0.1, jogando o aluno sem cookie para um endereco morto em vez do painel do curso.
- Login Lockdown ativo em Brute Force -> Login Lockdown com limite baixo de tentativas, trancando o IP do aluno após poucos erros de senha no formulário do Tutor LMS.
- Rename Login Page ligado, mudando o endereco do wp-login.php para um slug secreto, de modo que o POST de login do Tutor LMS aponta para um endereco que o AIOS agora rejeita.
- Allowlist de IP não configurada, entao nenhum aluno ou faixa de IP legitima esta liberada das regras de brute force do AIOS.
- Bloqueio do XML-RPC ou de bots junto com regras de firewall que também barram as chamadas admin-ajax.php usadas pelo login e pela matricula do aluno no frontend.
Como resolver
- Confirme que o bloqueio vem do AIOS: reproduza o login do aluno pelo painel do Tutor LMS com a aba Rede do navegador aberta e veja se a requisicao de login retorna 403 ou redireciona para a URL de bloqueio; em seguida desative o AIOS por um instante e tente de novo para confirmar a origem.
F12 -> aba Rede -> filtrar por wp-login.php e admin-ajax.php Plugins -> Desativar All in One Security (teste) -> testar login do aluno -> reativar - Ajuste a Brute Force Prevention por cookie: no recurso que esconde o login, desligue a Brute Force Prevention enquanto investiga, ou troque o Redirect URL do padrão local para a home do site, para o aluno sem cookie não cair num endereco morto.
WP Security -> Firewall -> Brute Force Prevention -> Enable Brute Force Attack Prevention -> Off (temporario) WP Security -> Firewall -> Brute Force Prevention -> Redirect URL - Afrouxe o Login Lockdown e libere o IP do aluno: aumente o número de tentativas permitidas e reduza o tempo de bloqueio do Login Lockdown, e remova da lista de bloqueio os IPs de alunos legitimos travados por erro de senha no formulário do curso.
WP Security -> Brute Force -> Login Lockdown -> Max Login Attempts WP Security -> Brute Force -> Login Lockdown -> Login Lockout Time Length WP Security -> Brute Force -> Login Lockdown -> Locked IP addresses - Reveja o Rename Login Page: se o endereco de login foi renomeado, desligue o Rename Login Page ou garanta que o Tutor LMS use o login do frontend e não um link para o wp-login.php antigo, para o POST de login não bater num endereco que o AIOS agora rejeita.
WP Security -> Brute Force -> Rename Login Page -> Enable Rename Login Page Feature -> Off - Libere por allowlist e confirme o AJAX: adicione o seu IP de gestão e, se possível, a faixa dos alunos na allowlist do AIOS, e verifique se o bloqueio de XML-RPC ou de bots não esta barrando o admin-ajax.php usado pelo login e pela matricula do Tutor LMS.
WP Security -> Settings -> Allowlist WP Security -> Firewall -> Internet Bots / WP REST API (revisar regras que tocam admin-ajax.php)
-- Emergencia: liberar um aluno trancado pelo Login Lockdown do AIOS quando voce
-- nao consegue acessar o painel. Rode no phpMyAdmin / Adminer da hospedagem.
-- Ajuste o prefixo 'wp_' se o seu banco usar outro (ex.: wpab1_).
-- 1) Ver os IPs presos pelo lockdown (login lockout e 404 ficam na mesma tabela):
SELECT id, user_id, lockdown_date, release_date, failed_login_ip, lock_reason
FROM wp_aiowps_login_lockdown
ORDER BY lockdown_date DESC;
-- 2) Soltar TODOS os bloqueios de login de uma vez:
DELETE FROM wp_aiowps_login_lockdown;
-- 3) (Opcional) desligar a Brute Force Prevention por cookie direto na config do AIOS,
-- caso ela tenha trancado voce fora do wp-login.php:
UPDATE wp_options
SET option_value = REPLACE(option_value,
's:35:"aiowps_enable_brute_force_attack_prevention";s:1:"1"',
's:35:"aiowps_enable_brute_force_attack_prevention";s:1:"0"')
WHERE option_name = 'aio_wp_security_configs';














