📅  最后修改于: 2023-12-03 14:44:43.701000             🧑  作者: Mango
CORS(跨源资源共享)是一种浏览器用于安全限制跨域请求数据的机制,确保只有许可的域可以请求特定资源。在 Node.js 中,要实现 CORS 策略,可以使用一个名为 cors 的第三方模块。
使用 npm 安装 cors 模块:
npm install cors
要使用 cors 模块,只需在 express 应用程序中引入它,并将其传递给应用程序的 use() 方法:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
cors 模块提供了许多配置选项,可以根据需要自定义您的 CORS 策略。以下是一些最常用的选项:
指定允许访问您资源的域名。可以是一个字符串,也可以是一个函数,用于动态决定哪些域名允许访问您的资源。
app.use(cors({
origin: 'https://example.com'
}));
或者:
app.use(cors({
origin: function (origin, cb) {
if (origin === 'https://example.com') {
cb(null, true);
} else {
cb(new Error('Not allowed by CORS'));
}
}
}));
指定允许的 HTTP 方法。
app.use(cors({
methods: ['GET', 'POST', 'PUT', 'DELETE']
}));
指定允许的 HTTP 头。
app.use(cors({
allowedHeaders: ['Content-Type', 'Authorization']
}));
指定在响应中公开的 HTTP 头。
app.use(cors({
exposedHeaders: ['Content-Length', 'X-Foo']
}));
指定在跨域请求中发送凭据(如 Cookie 或 HTTP 认证信息)。
app.use(cors({
credentials: true
}));
在 Node.js 中使用 cors 模块非常简单,并且可以轻松地配置您自己的 CORS 策略。使用它可以确保您的资源仅在授权的域名上访问,从而提高安全性。