Skip to content

Seguridad y despliegue en React

Una aplicación React se ejecuta en el navegador, por lo que no debe contener secretos ni confiar solo en validaciones del cliente. El despliegue consiste en compilar la aplicación y publicar archivos estáticos.

Conceptos clave

  • Build: generación de archivos listos para producción.
  • SPA: aplicación de una sola página.
  • Variables de entorno: configuración inyectada durante build.
  • XSS: ejecución de código malicioso en el navegador.
  • Autenticación: identificación del usuario.
  • Autorización: control de permisos.

Seguridad básica

React escapa valores interpolados por defecto.

jsx
function Comentario({ texto }) {
  return <p>{texto}</p>;
}

Evita usar HTML dinámico salvo que sea imprescindible.

jsx
<div dangerouslySetInnerHTML={{ __html: html }} />

Variables de entorno

Las variables expuestas al frontend no son secretas. Úsalas para configuración pública, como URL de API.

txt
VITE_API_URL=https://api.example.com

Build y despliegue

bash
npm run build

El resultado suele generarse en una carpeta como dist/ o build/, según la herramienta usada.

Rutas en SPA

Si usas React Router, el servidor debe redirigir rutas internas a index.html.

txt
/perfil -> index.html -> React Router -> Perfil

Buenas prácticas

  • No guardes secretos en el frontend.
  • Valida permisos reales en backend.
  • Usa HTTPS.
  • Gestiona expiración de sesión.
  • Configura fallback para rutas SPA.
  • Revisa dependencias y vulnerabilidades.
  • Automatiza build y despliegue.

Errores comunes

  • Poner claves privadas en variables de entorno frontend.
  • Confiar solo en ocultar botones para proteger acciones.
  • Publicar sin probar recarga en rutas internas.
  • Mostrar errores técnicos al usuario final.
  • No diferenciar configuración de desarrollo y producción.

Chuleta rápida

txt
npm run build = build producción
dist/build = salida publicable
SPA fallback = index.html
Frontend env = no secreto
Backend = permisos reales

Recursos relacionados