zj
2025-06-25 7f45e436fe6d33784356f660ac328f72c00733fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package project.ddos;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
 
public interface CheckIpRequestCountService {
 
    /**
     * 返回true:ip已被封, false:ip正常
     * 
     * @param ip
     * @return
     */
    boolean chcekIp(String ip, String url);
 
    public Map<String, AtomicLong> getIpCountCache();
 
    public Map<String, Date> getIpTimeCacheCache();
 
    public void clearIpCountCache();
 
    public void clearIpTimeCacheCache();
 
    /**
     * 分页获取ip计数相关信息,(防止因跨服务请求导致网络带宽不足而响应慢)
     * 
     * @param pageNo
     * @param pageSize
     * @param ip_para       ip
     * @param type_para     黑白名单
     * @param limit_count   最低访问量
     * @param isExcludeMenu 是否排除名单 true:排除名单
     * @return
     */
    public List<Map<String, Object>> cachePagedQueryIpCount(int pageNo, int pageSize, String ip_para, String type_para,
            Long limit_count, boolean isExcludeMenu);
 
    /**
     * 是否开启检测功能
     * 
     * @return
     */
    public boolean checkButton();
 
    /**
     * 根据ip,返回具体链接的请求数
     * 
     * @param ip
     * @return
     */
    public Map<String, AtomicLong> cacheUrlCount(String ip);
 
    /**
     * 根据ips批量获取对应的请求数据,减少交互
     * 
     * @param ips
     * @return
     */
    public Map<String, Long> ipCountByIps(List<String> ips);
 
    /**
     * 获取ip请求汇总数据
     * 
     * @return
     */
    public Map<String, Object> ipCountSumDates();
 
    /**
     * 登录页相关所需的urls
     */
    public List<String> loginPageRelationAction();
 
    /**
     * ip请求清除不在名单里的数据
     */
    public void cacheRequestClearNoMenu();
 
    /**
     * ip是否锁定
     * 
     * @param ip
     * @return
     */
    public boolean isLock(String ip);
 
    /**
     * ip请求数相关缓存清除
     * 
     * @param ip
     */
    public void cacheRemoveIp(String ip);
}