1、middleware下新建屏蔽中间件:forbidip.js
module.exports = (option, app) => {
return async function forbideIp (ctx, next) {
// firbideip 数据可以来自数据库,也可以来自传参
var firbideip = option.forbidips,
clientIp = ctx.request.ip;
if (firbideip.indexOf(clientIp) != -1) {
ctx.status = 403;
ctx.body = '您的ip已被屏蔽!';
} else {
await next();
}
}
}
2、在config > config.default.js文件中配置中间件并传参
// add your middleware config here
config.middleware = ['forbidip'];
config.forbidip = {
forbidips: ['127.0.0.1', '192.168.31.98'] // 这里的ip是客户端ip
}
效果如下: