限制API +用于特定范围的IP

时间:2018-07-10 05:06:50

标签: node.js

我必须将我的API限制为特定IP地址范围。对于单个IP,我执行以下操作:

exports.IPCheck = function(req, res, next){
    var ip = req.ip || 
             req.headers['x-forwarded-for'] || 
             req.connection.remoteAddress || 
             req.socket.remoteAddress ||
             req.connection.socket.remoteAddress;

     // Your allowed ip. You can also check against an array
     console.log(ip);     
    if(ip == '::ffff:127.0.0.1'){  ------> have to check for Range of IPs.
       next();
    } else {
        res.setHeader('Content-Type', 'application/json');      
        res.send(JSON.stringify({"Message":"Permission denied for IP " + ip}));
    }
}

我必须检查IP范围。我是否必须regularexpression才能确定范围?请提供您的想法。预先感谢。

1 个答案:

答案 0 :(得分:0)

IP4基本上是32位的,并在4个不同的部分中表示。因此,您可以将其转换为no,并且比较容易。 IP6是128位的相同方法,将其转换为数字并进行比较。