Al intentar registrarse en el sitio web https://it6.cc/, la verificación de disponibilidad del nombre de usuario se queda atascada. Aparece el mensaje “Comprobando disponibilidad del nombre de usuario…” y persiste durante un tiempo prolongado, lo que impide que el registro normal continúe.
He encontrado la razón del problema, debido a la regla waf de cloudflare,
la regla 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/")
aquí está la regla de optimización por claude ai, esto resuelve el 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)
Explicación de los cambios
Análisis y Optimización de Reglas de Firewall de Cloudflare
Regla Actual:
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álisis:
cf.threat_score ge 5 and not cf.client.bot: Esta parte es razonable, bloquea clientes de alta amenaza que no son bots.not http.request.version in {"HTTP/1.2" "HTTP/2" "HTTP/3" "SPDY/3.1"}: Esto podría ser demasiado restrictivo, bloqueando potencialmente clientes antiguos legítimos.not http.user_agent contains "Mozilla/": Esto podría bloquear solicitudes legítimas de clientes que no son navegadores o llamadas a la API.
Regla Optimizada:
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)
Explicación de los Cambios:
- Se aumentó el umbral de puntuación de amenaza a 10 para permitir más tráfico legítimo.
- Solo se bloquea HTTP/1.0, permitiendo versiones más nuevas y SPDY.
- Se modificó la verificación del agente de usuario para que solo se aplique al tráfico que no sea de bots, permitiendo llamadas a la API y clientes legítimos que no sean navegadores.
Consideraciones Adicionales:
- Añadir excepciones para rutas o puntos finales específicos utilizados para las comprobaciones de nombre de usuario:
Copiar
and not (http.request.uri.path contains "/check_username")
- Incluir en lista blanca rangos de IP conocidos o países donde se encuentran la mayoría de sus usuarios.
- Considere implementar limitación de velocidad en lugar de bloqueo total para algunas condiciones.
Implementación:
Reemplace su regla actual con la versión optimizada y supervise sus efectos. Ajuste según sea necesario según sus patrones de tráfico y requisitos de seguridad.
