我必须将我的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
才能确定范围?请提供您的想法。预先感谢。
答案 0 :(得分:0)
IP4基本上是32位的,并在4个不同的部分中表示。因此,您可以将其转换为no,并且比较容易。 IP6是128位的相同方法,将其转换为数字并进行比较。