node+express+cors白名單

原本想作一個設置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)

    });
相關文章
相關標籤/搜索