ip 请求次数限制4
This commit is contained in:
parent
172c4aeaaf
commit
63aee02a16
|
|
@ -51,7 +51,6 @@ public class IpAccessCounter {
|
|||
}
|
||||
removedBlacklistIps.forEach(BLACKLIST::remove);
|
||||
log.info("IpAccessCounter 清理完成,移除了 {} 个 IP 的黑名单记录,当前 BLACKLIST 大小: {}", removedBlacklistIps.size(), BLACKLIST.size());
|
||||
log.info("IpAccessCounter 定时清理访问记录和黑名单完成");
|
||||
}
|
||||
}, ONE_MINUTE, 20000);
|
||||
}
|
||||
|
|
@ -59,7 +58,7 @@ public class IpAccessCounter {
|
|||
// 检查 IP 是否可以访问
|
||||
public static boolean canAccess(String ip, Integer maxAccessCount) {
|
||||
if (isBlacklisted(ip)) {
|
||||
log.info("IP {} 被阻止访问,因为在黑名单中", ip);
|
||||
log.info("IpAccessCounter IP {} 被阻止访问,因为在黑名单中", ip);
|
||||
return false;
|
||||
}
|
||||
long currentTime = System.currentTimeMillis();
|
||||
|
|
@ -72,17 +71,12 @@ public class IpAccessCounter {
|
|||
return false;
|
||||
}
|
||||
accessTimes.add(currentTime);
|
||||
log.info("IP {} 在一分钟内第 {} 次访问", ip, accessTimes.size());
|
||||
return true;
|
||||
}
|
||||
|
||||
// 检查 IP 是否在黑名单中
|
||||
private static boolean isBlacklisted(String ip) {
|
||||
boolean result = BLACKLIST.containsKey(ip) && System.currentTimeMillis() - BLACKLIST.get(ip) <= TEN_MINUTES;
|
||||
if (result) {
|
||||
log.debug("IP {} 在黑名单中", ip);
|
||||
}
|
||||
return result;
|
||||
return BLACKLIST.containsKey(ip) && System.currentTimeMillis() - BLACKLIST.get(ip) <= TEN_MINUTES;
|
||||
}
|
||||
|
||||
// 将 IP 加入黑名单
|
||||
|
|
|
|||
Loading…
Reference in New Issue