Saltar al contenido

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

Auth, rate limit, Helmet y CORS

Respuesta rapida: La seguridad basica de Express empieza por autenticacion, autorizacion, rate limit, headers seguros con Helmet y CORS configurado segun los dominios reales. Que vas a construir La seguridad basica de Express.

Del concepto a la práctica

Taller de esta lección

Estas medidas resuelven riesgos diferentes. La autenticación identifica; la autorización limita acciones; el rate limit reduce abuso; Helmet configura headers defensivos; CORS controla qué orígenes pueden leer respuestas desde un navegador. Ninguna sustituye a las demás.

Ejemplo resuelto

En POST /courses, una persona autenticada con rol student debe recibir 403 y un rol editor puede continuar. La política CORS permite solo https://app.local, mientras que un límite de prueba de 3 intentos por minuto permite los tres primeros y rechaza el cuarto con 429. No se debe permitir cualquier origen solo para evitar errores de configuración.

Los dominios .local son nombres ficticios del ejercicio. Un cliente de consola puede efectuar una petición aunque CORS no conceda lectura al navegador. Una petición simple puede producir efectos antes del bloqueo de lectura; valida autorización y, cuando uses cookies, protección CSRF según tu arquitectura. No combines credenciales CORS con origen *. En varias réplicas, un contador de memoria no es un límite compartido.

Pruébalo

  1. Escribe una matriz de roles y operaciones.

  2. Coloca autenticación antes de autorización.

  3. Define origen permitido y método necesario.

  4. Aplica rate limit al área sensible y revisa headers.

Error frecuente: confundir tener token con tener permiso. Corrígelo comprobando identidad y rol sobre el recurso solicitado.

Comprueba tu resultado

Prueba POST /courses como estudiante y editor. El primer caso debe ser 403 y no crear registros; el segundo debe poder continuar. Para https://otro.local, el servidor no debe conceder el header CORS de lectura; el navegador bloquea el acceso de JavaScript a la respuesta.

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 ↗
Fuentes para profundizar
Respuesta rapida: La seguridad basica de Express empieza por autenticacion, autorizacion, rate limit, headers seguros con Helmet y CORS configurado segun los dominios reales.

Que vas a construir

La seguridad basica de Express empieza por autenticacion, autorizacion, rate limit, headers seguros con Helmet y CORS configurado segun los dominios reales.

Paso 1: criterio de backend

Autenticacion responde quien sos; autorizacion responde que podes hacer. No alcanza con validar que existe un token si cualquier usuario puede modificar cualquier recurso.

Paso 2: criterio de backend

Rate limit reduce abuso y errores accidentales. Helmet agrega headers defensivos. CORS debe permitir solo origenes necesarios, no comodines por comodidad.

Paso 3: criterio de backend

En una entrevista, explicar estas capas muestra que no pensas Express como un tutorial, sino como backend expuesto a usuarios, bots, errores y cambios de negocio.

Ejercicio practico para portfolio

Construye una mini API de cursos, usuarios o empleos con Express.js. Inclui rutas claras, validacion, errores consistentes y un README que explique como correr el proyecto. La meta es que un reclutador o cliente vea que podes pasar de tutorial a backend mantenible.

  • Entregable: repositorio con endpoint, ejemplo de request y respuesta esperada.
  • Checklist: status codes correctos, validacion, logs, seguridad basica y pruebas manuales reproducibles.
  • Salida laboral: conecta el proyecto con rutas de carreras, empleos y servicios backend del marketplace.

Sigue con Express.js y Node.js para APIs profesionales

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.