使用`cors`中间件时,如何设置特定域名的跨域请求?

使用cors中间件时,你可以通过配置对象来设置特定域名的跨域请求。以下是如何设置特定域名的跨域请求的示例:

  1. 安装cors模块: 如果你还没有安装cors模块,可以通过npm来安装:

     

    bash

    npm install cors
  2. 设置特定域名的跨域请求: 你可以在cors中间件中使用origin属性来指定允许的域名。以下是一些示例:

     

    javascript

    const express = require('express');
    const cors = require('cors');
    const app = express();
    
    // 允许特定域名的跨域请求
    app.use(cors({
      origin: 'https://www.zipingshu.com/' // 只允许zipingshu.com域名的跨域请求
    }));
    
    // 或者,允许多个特定域名的跨域请求
    app.use(cors({
      origin: ['https://www.zipingshu.com/', 'https://pingshu.xyz/'] // 允许zipingshu.com和pingshu.xyz域名的跨域请求
    }));
    
    // 你也可以使用函数来动态设置允许的域名
    app.use(cors({
      origin: (origin, callback) => {
        if (['https://www.zipingshu.com', 'https://pingshu.xyz/'].includes(origin)) {
          callback(null, true);
        } else {
          callback(new Error('Not allowed by CORS'));
        }
      }
    }));
    
    app.get('/', (req, res) => {
      res.json({ message: 'This is a CORS-enabled response!' });
    });
    
    app.listen(3000, () => {
      console.log('Server is running on port 3000');
    });
  3. 处理预检请求cors中间件会自动处理OPTIONS预检请求。你不需要手动处理这些请求,cors中间件会根据你的配置自动返回适当的响应。

  4. 允许带凭据的请求: 如果你需要支持带凭据的请求(如Cookies),可以设置credentials属性为true

     

    javascript

    app.use(cors({
      origin: 'https://pingshu.xyz',
      credentials: true
    }));

通过以上步骤,你可以使用cors中间件来设置特定域名的跨域请求。这可以帮助你控制哪些域名可以访问你的资源,同时确保跨域请求的安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值