ip 请求次数限制4

This commit is contained in:
GYJ 2025-03-23 20:55:55 +08:00
parent 172c4aeaaf
commit 63aee02a16
1 changed files with 2 additions and 8 deletions

View File

@ -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 加入黑名单