m.save(callback);
}
}
/**
* 禁用Ip访问一小时
* @param ip {String}
* @param callback
*/
var newAndSaveOneHourTempForbidden = function(ip, callback){
var expireTime = Date.now() + 1000*60*60;
newAndSaveTempForbidden(ip,expireTime, callback);
}
/**
* 禁用一天
* @param ip {String}
* @param callback
*/
var newAndSaveOneDayTempForbidden = function(ip, callback){
var expireTime = Date.now() + 1000*60*60*24;
newAndSaveTempForbidden(ip, expireTime, callback);
}
/**
* 新建临时黑名单
* @param ip {String}
* @param expireTime {Number} 到期时间
* @param callback
*/
var newAndSaveTempForbidden = function(ip, expireTime,callback){
var blackList = new BlackList({ip:ip, expireTime:expireTime, forbiddenDegree:1});
newAndSave(blackList, callback);
}
/**
* 新建并保存永久黑名单
* @param ip
* @param callback
*/
var newAndSaveForeverForbidden = function(ip, callback){
var blackList = new BlackList({ip:ip, forbiddenDegree:2});
newAndSave(blackList, callback);
}
/**
* 判断是否在黑名单中
* @param ip {String} Ip地址
* @param callback
*/
var isInBlackList = function(ip, callback){
getBlackListByIp(ip, function(err, blackList){
if(err){
callback(err);
}else if(blackList){
var currentDate = Date.now();
if(blackList.forbiddenDegree ===1 && blackList.expireTime> currentDate){
removeBlackListByIp(ip, function(err){
if(err){
callback(err);
}else{
callback(null, false);
}
})









