¿Qué es esto y en qué se diferencia del Rate Limiting?
DDoS significa "Denegación de Servicio Distribuida": muchos ordenadores distintos (a veces miles, en una "botnet") atacan tu web a la vez para saturarla y dejarla caída.
🐘 Por qué WordPress es un objetivo especialmente fácil
Un archivo estático (una imagen, un PDF, una página HTML plana) se sirve directamente desde el disco: el servidor lo lee y lo envía, sin pensar. Una página de WordPress no funciona así. Cada visita obliga a PHP a arrancar desde cero: cargar el núcleo de WordPress, los plugins activos, el tema, y lanzar varias consultas a la base de datos (MySQL) para montar esa página concreta con sus productos, comentarios o menú. Eso convierte cada petición en un trabajo de CPU y base de datos, no solo de ancho de banda.
Por eso un servidor que aguantaría sin despeinarse miles de peticiones por segundo a un archivo estático puede empezar a fallar con solo unas pocas decenas o cientos de peticiones por segundo a páginas de WordPress sin caché: la base de datos alcanza su límite de conexiones simultáneas mucho antes de que se sature la conexión de red. Cuando eso pasa, el sitio deja de responder incluso para los visitantes reales, aunque el ataque venga de un número relativamente modesto de peticiones comparado con un DDoS clásico a nivel de red.
⚖️ ¿Por qué no basta con el Rate Limiting?
El Rate Limiting cuenta peticiones por IP: si una IP se pasa, se bloquea esa IP. Pero en un DDoS real, el ataque no viene de 1 IP — viene de cientos o miles de IPs distintas a la vez. Cada IP nueva empieza su propio contador desde cero, así que nunca llega a superar el límite individual, y el ataque pasa desapercibido.
🧮 ¿Cómo lo soluciona esto?
En vez de contar por IP, cuenta el tráfico TOTAL de tu web (todas las IPs juntas). Si ese total se dispara, se activa el "modo flood": a cada visitante nuevo (sin importar su IP) se le pide resolver un pequeño cálculo matemático vía JavaScript antes de dejarle ver la página.
Cómo funciona por dentro
- SeenSecure cuenta cuántas peticiones recibe todo el sitio en ventanas cortas de tiempo.
- Si ese total supera el umbral configurado, se activa el "modo flood" durante un tiempo mínimo (enfriamiento), para no encender y apagar el desafío constantemente si el tráfico ronda justo el límite.
- Mientras el modo flood está activo, cada visitante nuevo recibe la página de verificación en vez de la página real, hasta que resuelve el cálculo (automáticamente, vía JavaScript).
- Una vez verificado, el visitante puede navegar con normalidad durante el tiempo configurado (duración del pase) sin que se le vuelva a preguntar.
Ajustes de esta sección
Umbral (peticiones/min de todo el sitio)
A partir de cuánto tráfico TOTAL se considera un posible ataque. Empieza alto (600-1000) y bájalo solo si tu web sufre ataques reales; ponerlo demasiado bajo puede activar el desafío en picos normales de visitas (ej. viralidad en redes).
Duración del pase (minutos)
Cuánto tiempo un visitante que ya resolvió el cálculo puede seguir navegando sin que se le vuelva a preguntar.
Enfriamiento (minutos)
Una vez activado, cuánto tiempo se mantiene el modo flood encendido tras bajar el tráfico, antes de desactivarse solo. Evita que se encienda y apague constantemente si el tráfico ronda justo el límite.
Lo que NO hace (límites honestos)
- No protege formularios, pagos ni llamadas a la API (peticiones que no son de tipo "GET") — interrumpirlos a mitad sería peor que el propio ataque, así que se dejan pasar sin comprobar.
- No sustituye a un CDN (como Cloudflare) frente a ataques a nivel de red/conexión — esto protege a nivel de aplicación (páginas web), no el tráfico de red en bruto.
❓ FAQ — Preguntas Frecuentes
🔹 ¿Debo tener esto activado siempre?
No es necesario para la mayoría de sitios. Actívalo si tu web ya ha sufrido caídas por exceso de tráfico repentino, o de forma preventiva antes de un evento que esperas que genere mucho tráfico (lanzamiento, campaña de publicidad, mención viral).
🔹 ¿Puede bloquear a mis clientes reales durante un pico de ventas?
No los bloquea — les pide un segundo de verificación automática (invisible para ellos) antes de mostrarles la página, solo mientras el modo flood esté activo. Un cliente real con un navegador normal lo pasa sin darse cuenta. Es más probable que active el modo flood en un pico de tráfico legítimo si el umbral está configurado demasiado bajo — por eso se recomienda empezar alto (600-1000 peticiones/minuto).
🔹 ¿Dónde se activa esto en el panel?
En Firewall → Rate Limiting, en la tarjeta "🛡️ Modo Resistencia DDoS" (justo debajo de la tarjeta "🚀 Primera Línea"). Disponible en el plan FREE, sin necesidad de PRO. No confundas las dos tarjetas: "Primera Línea" corre ANTES de que WordPress cargue y sigue funcionando aunque la base de datos esté saturada, mientras que "Modo Resistencia DDoS" corre DENTRO de WordPress con un umbral configurable por minuto. Son independientes entre sí y se recomienda mantener ambas activas.