Blame view

utils/index.js 669 Bytes
1 2 3 4 5 6 7 8 9 10 11 12 13
'use strict';

const url = require('url');

/**
 *   refer限制
 *  @param referer string
 *  @param blacklist [array|function] refer黑名单  TODO: 未实现
 *      1. array: ['/login', '/signin'] 如果referer 在array中,将返回 /home
 *      2. function: 如果返回true, 返回/home
 *  @return referer
 */
exports.refererLimit = (referer, blacklist) => {  // eslint-disable-line
陈轩 authored
14
    let result = decodeURIComponent(referer || '/home');
15
16
    let urlObj = url.parse(result, false, true);
17 18 19 20 21 22 23 24 25 26


    if (urlObj.hostname && !/(?:yohobuy\.com$)|(?:yoho\.cn$)/.test(urlObj.hostname)) {
        result = '/home';
    }

    // TODO: blacklist;

    return result;
};