本来想做一个设置cors白名单,本来是犯懒想在网上看看有没有现成的直接copy一下,结果在google找了半天,大部分都是复制的一篇文章,他的代码贼多,我还看不懂,用着还很麻烦。后来又找到了另一篇文章,结果不知道为啥不能用,我真是个菜狗加懒狗。^_^


//安装引入cors

const cors = require('cors');

    app.use(cors());

    app.use(function (req, res, next) {

//设置白名单列表~~~~

        let whiteList = \["https://xxxx.com/", "https://xxxx.com/"\];

//用来接收当前访问的域名

        let domain = null;

放到定时器里,是为了拿到当前访问的域名,如果直接写在外面只能拿到undefined

        setTimeout(() => {

//req.headers.referer第一次是undefined,但是在页面打开的过城中,会一直刷新。

            domain = req.headers.referer;

//可以从这里看到我上句说的意思

         console.log(domain);

//如果当前访问的域名是白名单里的,则把设置为可访问。如果不是,则改为只允许默认的域名访问。

        whiteList.includes(domain) ? res.header("Access-Control-Allow-Origin", "\*") : res.header(

            "Access-Control-Allow-Origin", "https://www.xxx.com")

        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

        next();

        }, 0)

    });

  

  

  

铁牛 👁 👁
2 声望0 粉丝