nodejs实现黑名单中间件设计
黑名单Schema:
/** *CreatedbyYCXJ-wanglihuion2014/5/28. */ 'usestrict';
varmongoose=require('mongoose'); varSchema=mongoose.Schema;
//1.短暂屏蔽2.永久屏蔽 vardegree={TEMP:1,FOREVER:2};
/** *黑名单 *@type{Schema} * *@paramip{String}黑名单Ip *@paramcreateAt{Date}创建时间 *@paramexpireTime{Date}如果是短暂屏蔽,屏蔽到期时间 *@paramforbiddenDegree{Number}屏蔽级别1.短暂屏蔽2.永久屏蔽 *@paramreason{String}屏蔽原因 */ varBlackList=newSchema({ ip:{ type:String, index:true }, createAt:{ type:Date, default:Date.now }, expireTime:{ type:Date }, forbiddenDegree:{ type:Number, default:degree.TEMP }, reason:{ type:String, default:'请求次数频繁' } });
mongoose.model('BlackList',BlackList);