Skip to content
On this page

CORS - Entendiendo e Implementando la Tecnología en Node.js

by Manolo Garcia on 2023-05-09T06:16

adnCORS - Cross-Origin Resource Sharing

Introducción

La tecnología CORS (Cross-Origin Resource Sharing) es un mecanismo que permite a los navegadores solicitar recursos de diferentes orígenes de manera segura y controlada.

En esta entrada, exploraremos qué es CORS, por qué es importante y cómo implementarlo en Node.js.

¿Qué es CORS y por qué es importante?

¿Qué es CORS en node js?

CORS es un protocolo de seguridad implementado por los navegadores para prevenir ataques de tipo Cross-Site Request Forgery (CSRF) y Cross-Site Scripting (XSS).

CORS permite a los servidores especificar qué orígenes pueden acceder a sus recursos y qué métodos HTTP y encabezados pueden utilizar.

Al hacerlo, los navegadores pueden bloquear solicitudes no autorizadas antes de que lleguen al servidor, protegiendo así la integridad y la seguridad de los datos.

Implementación de CORS en Node.js

¿Cómo habilitar el CORS?

Para implementar CORS en Node.js, necesitarás el paquete 'cors', que puedes instalar utilizando npm:

shell
npm install cors

Una vez instalado, puedes habilitar CORS en tu aplicación Node.js utilizando el siguiente código:

javascript
Copy code
const express = require('express');
const cors = require('cors');

const app = express();

// Habilitar CORS para todas las rutas
app.use(cors());

// Tus rutas y controladores aquí

app.listen(3000, () => {
  console.log('Servidor escuchando en el puerto 3000');
});

Si deseas personalizar la configuración de CORS, puedes hacerlo utilizando un objeto de opciones:

javascript
Copy code
const corsOptions = {
  origin: 'https://manologarcia.dev', // Permite solicitudes solo desde este origen
  methods: ['GET', 'POST'], // Métodos HTTP permitidos
  allowedHeaders: ['Content-Type', 'Authorization'], // Encabezados permitidos
  credentials: true, // Permite el envío de cookies
  maxAge: 3600, // Tiempo máximo de vida de las solicitudes preflight (en segundos)
};

app.use(cors(corsOptions));

Conclusión

La tecnología CORS es un componente esencial en la seguridad de la web moderna y es especialmente importante en aplicaciones que manejan datos sensibles.

Al implementar CORS en tus aplicaciones Node.js, estarás dando un paso importante para proteger tus recursos y proporcionar una experiencia segura a los usuarios de tu sitio web.