Rate limiting WordPress: límites de autores y visitantes

Escrito por

en

El rate limiting WordPress que ofrece CSDN pone límites a los abusos de escritura. Por un lado están los autores que publican demasiado contenido en poco tiempo, por ejemplo con una cuenta comprometida. Por otro están los visitantes que envían demasiados comentarios o formularios de contacto. Cada límite se activa y se ajusta por separado.

Esquema de WordPress con la pestaña Rate limiting WordPress del plugin CSDN resaltada

Dónde se encuentra

Ve a Ajustes y elige Cisilino Site Defense Network (punto 1 de la imagen). Abre la pestaña «Rate limiting» (punto 2). Para guardar hace falta el permiso manage_options; en multisitio hace falta manage_network_options.

Las secciones son cuatro. El punto 3 es «Cómo funciona, en concreto: qué se cuenta». El punto 4 es «1. Autores: publicaciones demasiado frecuentes». El punto 5 es «2. Visitantes: comentarios y formularios de contacto». El punto 6 es «Usuarios actualmente suspendidos». Los valores de tiempo están todos en segundos.

Para qué sirve

El límite sobre los autores detiene a una cuenta que publica a ráfagas, antes de que llene el sitio de contenido. El límite sobre los visitantes frena a quien inunda comentarios y formularios. El código conoce también un tercer límite, el correo obligatorio. Lo encuentras en la pestaña «Registro de usuarios», descrita en el capítulo anterior.

Cómo se usa

Así se configura el rate limiting WordPress, sección por sección.

Qué se cuenta (punto 3)

El recuadro informativo explica las reglas. Para los autores, el control se activa cuando WordPress guarda un artículo o una página. El plugin cuenta cuántos artículos y páginas de ese autor tienen fecha de creación o publicación en los últimos T segundos. Si son más de N, el autor se suspende. El guardado que supera el límite se completa: la suspensión bloquea los siguientes.

No cuentan los plugins y los temas, los inicios de sesión, los cambios en contenidos más antiguos que la ventana, los borradores automáticos, las revisiones, la papelera, los medios, los comentarios y los demás tipos de contenido. Los entornos temporales, como el de prueba del Plugin Check, se ignoran.

Atención: el ejemplo escrito en ese recuadro todavía cita N=3. Es un texto antiguo. El valor predeterminado real es 150 contenidos en 5 minutos, desde la versión 1.0.13.

Autores (punto 4)

  1. Marca «Rate limit activo» para limitar las publicaciones de los autores.
  2. Decide si quieres mantener «Alert via email»: recibes un correo cuando se suspende un autor.
  3. Define «N: contenidos permitidos», de 1 a 1000. Predeterminado 150.
  4. Define «T: ventana (segundos)», de 10 a 86400. Predeterminado 300, es decir 5 minutos.
  5. Define «S: suspensión (segundos)», de 60 a 2592000. Predeterminado 3600, es decir 1 hora.
  6. Pulsa Guardar ajustes de rate limiting.

El correo va a la dirección de administrador de Ajustes > Generales. Contiene el usuario, los contenidos en la ventana, el vencimiento y el listado de hasta 20 contenidos recientes para revisar. La suspensión no modifica esos contenidos.

Visitantes (punto 5)

  1. Marca «Rate limit activo» para limitar los envíos de los invitados.
  2. El «Alert via email» está desactivado por defecto. En un sitio expuesto puede generar muchos correos. Llega a la misma dirección de administrador de Ajustes > Generales, una vez por cada bloqueo.
  3. «N: envíos permitidos», de 1 a 100. Predeterminado 2.
  4. «T: ventana (segundos)», de 5 a 3600. Predeterminado 60.
  5. «S: bloqueo de IP (segundos)», de 60 a 2592000. Predeterminado 3600.

El límite afecta solo a quien no ha iniciado sesión. Cuenta los envíos por IP y por tipo, comentarios o formularios. Un bloqueo en los comentarios no bloquea los formularios. Los formularios de contacto cubiertos son los de Contact Form 7. El comentario rechazado muestra «Demasiados envíos» con error 429.

Si un valor queda fuera de los límites, el plugin lo lleva al más cercano permitido. El guardado muestra «Ajustes del rate limiting guardados. Los valores fuera de los límites permitidos se han llevado al más cercano permitido.»

Rate limiting WordPress: suspensiones y bloqueos

Un autor suspendido mantiene su rol y puede usar el resto del panel. Pierde, sin embargo, los permisos de crear y publicar artículos y páginas. Desaparecen «Añadir artículo» y las opciones de las páginas, y si abre esas pantallas recibe «permiso denegado». En el escritorio aparece un aviso que no se puede cerrar.

Atención: la suspensión de autores afecta también a los administradores. Un administrador suspendido pierde la creación y la publicación, pero puede seguir abriendo los Ajustes y revocar la suspensión él mismo. No existe una lista de excepciones para usuarios, roles o IP: la whitelist de IP de la pestaña General no exime del rate limiting.

Atención: el bloqueo de los visitantes es por IP. Varias personas detrás de la misma IP, como una oficina, pueden quedar bloqueadas juntas. En ese caso sube N. El plugin lee solo la dirección de conexión (REMOTE_ADDR) y no las cabeceras de proxy o CDN: detrás de un proxy inverso o una CDN todos los visitantes pueden aparecer con la misma IP y bloquearse entre ellos.

Cómo revocar una suspensión

Tienes dos opciones.

  1. Espera. La suspensión termina sola tras S segundos.
  2. En la sección del punto 6, «Usuarios actualmente suspendidos», pulsa Revocar suspensión en la fila del usuario. Verás «Suspensión revocada: el usuario puede volver a crear y publicar contenido.» Si la tabla está vacía lees «Ningún usuario suspendido.»

La tabla muestra como máximo 100 usuarios. Los avisos del escritorio tienen los enlaces «Revoca la suspensión» y «Revisa y revoca», que llevan a la misma pestaña.

Apagar «Rate limit activo» no quita una suspensión ya en curso. Para quitarla debes revocarla o esperar el vencimiento.

Qué pasa entre bastidores

La suspensión es un dato guardado en el usuario, con la fecha de vencimiento. Para los invitados, cada envío se registra durante 24 horas en una tabla del plugin y luego se cuenta dentro de la ventana. Si llegan dos peticiones juntas, alguna de más puede pasar. Las suspensiones y los bloqueos llegan al Registro de actividad, si está activo y si los grupos Usuarios y Comentarios están habilitados.

Atención: una importación legítima de muchos contenidos puede activar el límite de los autores. Antes de una migración desactiva el límite o sube N.

Ejemplos de rate limiting WordPress

  • Blog con un solo autor: puedes bajar N a 10 o 20 con T=300. Detectas antes una cuenta comprometida. Son valores de prueba, no una regla del plugin.
  • Redacción que duplica o importa páginas: mantén 150/300 o más.
  • Oficinas con IP compartida: sube los envíos permitidos de los visitantes a 3 o 5.

Conversiones útiles: 300 segundos son 5 minutos, 3600 son 1 hora, 86400 son 1 día. Para profundizar en el tema general, lee la guía de OWASP Blocking Brute Force Attacks, que explica por qué limitar los intentos repetidos.

Anterior: Registro de usuarios: quién puede crear cuentas. Siguiente: Registro de actividad: qué ha pasado en el sitio. Para el índice general ve al capítulo 1 del manual.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Aviso sobre Cookies en WordPress por Real Cookie Banner