zoukankan      html  css  js  c++  java
  • node 跨域

    app.post('/api/list',function(req, res){
    let reqOrigin = req.headers.origin; // request响应头的origin属性
    res.header("Access-Control-Allow-Origin", reqOrigin);
    res.header('Access-Control-Allow-Credentials', 'true');
    userDao.usergetlist(req, res);
    });

    原文:http://www.cnblogs.com/hanxuming/p/8561999.html

    // 判断origin是否在域名白名单列表中
    function isOriginAllowed(origin, allowedOrigin) {
    if (_.isArray(allowedOrigin)) {
    for(let i = 0; i < allowedOrigin.length; i++) {
    if(isOriginAllowed(origin, allowedOrigin[i])) {
    return true;
    }
    }
    return false;
    } else if (_.isString(allowedOrigin)) {
    return origin === allowedOrigin;
    } else if (allowedOrigin instanceof RegExp) {
    return allowedOrigin.test(origin);
    } else {
    return !!allowedOrigin;
    }
    }


    const ALLOW_ORIGIN = [ // 域名白名单
    '*.233.666.com',
    'hello.world.com',
    'hello..*.com'
    ];

    app.post('a/b', function (req, res, next) {
    let reqOrigin = req.headers.origin; // request响应头的origin属性

    // 判断请求是否在域名白名单内
    if(isOriginAllowed(reqOrigin, ALLOW_ORIGIN)) {
    // 设置CORS为请求的Origin值
    res.header("Access-Control-Allow-Origin", reqOrigin);
    res.header('Access-Control-Allow-Credentials', 'true');

    // 你的业务代码逻辑代码 ...
    // ...
    } else {
    res.send({ code: -2, msg: '非法请求' });
    }
    });

  • 相关阅读:
    抽象类
    《大道至简》第七八章读后感
    使用try输出成绩
    《大道至简》第六章读后感
    课后作业2015.11.9
    《大道至简》第五章读后感
    课后作业2015.11.1
    动手动脑20151024
    字串加密
    《大道至简》第四章读后感
  • 原文地址:https://www.cnblogs.com/weiyiyong/p/9117546.html
Copyright © 2011-2022 走看看