Saltar al contenido

Lección 11 de 12 · Lectura y práctica

Rate limiting: proteger tu API

Rate limiting Un limite simple te salva de abuso y picos. Es parte del producto, no solo seguridad. Conceptos clave limitar por IP o user ventanas de tiempo responder 429 Ejemplo Regla simple: 60 requests/min por IP para.

Del concepto a la práctica

Taller de esta lección

El límite debe expresar una política concreta: quién se limita, durante cuánto tiempo y qué respuesta recibe al excederlo. Un endpoint público de lectura puede tolerar más solicitudes que uno privado que cambia datos; la cifra es una regla del laboratorio, no una promesa universal.

Ejemplo resuelto

Para una ventana de 60 segundos y límite 3 por IP, las solicitudes 1, 2 y 3 pasan; la 4 recibe 429. La respuesta puede ser { "ok": false, "error": { "code": "RATE_LIMITED" } } y un encabezado que indique cuándo reintentar, si tu implementación lo soporta.

Prueba sin concurrencia y en ventanas nuevas para separar /search y/admin. La autorización de admin sigue siendo obligatoria, aunque aún queden solicitudes permitidas. Los contadores RAM son por proceso y se reinician; varias instancias requieren un almacenamiento compartido con incremento atómico. Detrás de proxy configura trust proxy según la topología confiable y evita aceptar X-Forwarded-For arbitrario; limitación por IP puede agrupar usuarios legítimos tras NAT.

Pruébalo

  1. Usa un almacenamiento local de contadores para el laboratorio.

  2. Identifica la IP o usuario según la ruta.

  3. Reinicia la ventana y envía cuatro solicitudes controladas.

Error frecuente: contar todas las rutas con el mismo límite sin distinguir coste. Corrige definiendo políticas por grupo y documentándolas.

Ejercicio: configura 3 solicitudes por minuto para /search y 2 para /admin.

Comprueba tu resultado

la cuarta búsqueda y la tercera petición administrativa devuelven 429, mientras las anteriores conservan su estado normal.

Capas de acceso, actualización, copias y respuesta a incidentes alrededor de un sistema.
CursaloMapa de práctica
La seguridad necesita varias capas

El control de acceso, las actualizaciones y las copias de seguridad cubren riesgos distintos. Una alerta necesita un procedimiento de respuesta para contener y recuperar el servicio. Varias capas reducen la exposición, pero ninguna garantiza seguridad absoluta.

Ver la infografía en tamaño completo ↗

Rate limiting

Un limite simple te salva de abuso y picos. Es parte del producto, no solo seguridad.

Conceptos clave

  • limitar por IP o user
  • ventanas de tiempo
  • responder 429

Ejemplo

Regla simple: 60 requests/min por IP para endpoints publicos.

Ejercicio

  • Define limites para endpoints publicos vs privados.
  • Devuelve 429 con mensaje claro.

Checklist de mastery

  • Tengo limites razonables por endpoint.
  • Manejo 429 en cliente.

Sigue con Node.js y APIs con Express

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.