当前位置: 首页 > 后端技术 > Node.js

node+express+corswhitelist

时间:2023-04-04 01:38:39 Node.js

本来是想设置一个cors白名单的,后来偷懒了,想看看网上有没有现成的,直接复制过来,但是在网上找了半天谷歌一下,大部分都是copy了这篇文章,他有一大堆代码贼,我还是看不懂,用起来还是很麻烦。后来又找了一篇文章,不知道为什么不能用。我真是一只懒狗。^_^//安装并引入corsconstcors=require('cors');app.use(cors());app.use(function(req,res,next){//设置白名单列表~~~~letwhiteList=\["https://xxxx.com/","https://xxxx.com/"\];//用于接收当前访问的域名letdomain=null;放在定时器中用于获取当前访问的域名,如果直接写在外面,只能得到undefinedsetTimeout(()=>{//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","来源,X-Requested-With,Content-Type,Accept");next();},0)});