Verificação de disponibilidade de nome de usuário travada durante o cadastro

Ao tentar registrar-se no site https://it6.cc/, a verificação de disponibilidade do nome de usuário fica travada. A mensagem “Verificando disponibilidade do nome de usuário…” aparece e persiste por um longo período, impedindo o prosseguimento do registro normal.


Encontrei a razão do problema, devido à regra de WAF do Cloudflare,
a regra original

(cf.threat_score ge 5 and not cf.client.bot) or (not http.request.version in {"HTTP/1.2" "HTTP/2" "HTTP/3" "SPDY/3.1"}) or (not http.user_agent contains "Mozilla/")

aqui está a regra de otimização por claude ai, isso resolve o problema

(cf.threat_score ge 10 and not cf.client.bot) or
(http.request.version eq "HTTP/1.0") or
(not http.user_agent contains "Mozilla/" and not cf.client.bot)
Explicação das Alterações

Análise e Otimização da Regra de Firewall do Cloudflare

Regra Atual:

Copiar

(cf.threat_score ge 5 and not cf.client.bot) or
(not http.request.version in {"HTTP/1.2" "HTTP/2" "HTTP/3" "SPDY/3.1"}) or
(not http.user_agent contains "Mozilla/")

Análise:

  1. cf.threat_score ge 5 and not cf.client.bot: Esta parte é razoável, bloqueando clientes de alta ameaça que não são bots.
  2. not http.request.version in {"HTTP/1.2" "HTTP/2" "HTTP/3" "SPDY/3.1"}: Isso pode ser muito restritivo, potencialmente bloqueando clientes antigos legítimos.
  3. not http.user_agent contains "Mozilla/": Isso pode bloquear requisições legítimas de clientes não-navegador ou chamadas de API.

Regra Otimizada:

Copiar

(cf.threat_score ge 10 and not cf.client.bot) or
(http.request.version eq "HTTP/1.0") or
(not http.user_agent contains "Mozilla/" and not cf.client.bot)

Explicação das Alterações:

  1. Aumentou o limite da pontuação de ameaça para 10 para permitir mais tráfego legítimo.
  2. Bloqueia apenas HTTP/1.0, permitindo versões mais recentes e SPDY.
  3. Modificou a verificação do agente do usuário para se aplicar apenas a tráfego não-bot, permitindo chamadas de API e clientes legítimos não-navegador.

Considerações Adicionais:

  • Adicionar exceções para caminhos ou endpoints específicos usados para verificações de nome de usuário:

Copiar

and not (http.request.uri.path contains "/check_username")
  • Listar IPs conhecidos bons ou países onde a maioria dos seus usuários está localizada.
  • Considerar a implementação de limitação de taxa em vez de bloqueio total para algumas condições.

Implementação:

Substitua sua regra atual pela versão otimizada e monitore seus efeitos. Ajuste conforme necessário com base nos seus padrões de tráfego e requisitos de segurança.

1 curtida