类 DDosFilter
- java.lang.Object
-
- team.bangbang.common.filter.DDosFilter
-
- 所有已实现的接口:
javax.servlet.Filter
@WebFilter(filterName="DDosFilter", urlPatterns="/ddos/*") public class DDosFilter extends java.lang.Object implements javax.servlet.Filter防DDOS过滤器 本过滤器应该覆盖应用入口、应用服务。 参数名称:enter-uri (必选,不含contextPath) 入口地址,如/sample/request.jsp,多个入口地址使用换行间隔 referer-prefix (可选,设定则校验入口地址以外的请求referer) referer前缀,多个referer前缀使用换行间隔。除了入口地址外,其它请求referer必须以[referer_prefix]内的某个值开头 second-limit (可选,[second_limit]、[visit_limit]必须全部大于0才能生效) 限制的秒数 visit-limit (可选,[second_limit]、[visit_limit]必须全部大于0才能生效) 指定时间[second_limit]内限制的访问次数 deny-message (可选) 拒绝的返回消息,缺省为“{errcode:174000, errcode:'Your are welcome!'}”工作机理如下:1. 在程序入口设置Session,Session中保存2 KEY:SessionId、浏览器的user-agent; 2. 在程序入口之外的应用服务中,检查2 KEY是否与程序入口保存的2 KEY相同; 3. 针对本过滤器覆盖的访问,单个Session请求在指定的[second_limit]秒时间内,只允许执行[visit_limit]次访问
- 版本:
- 1.0 2017-04-02 紧张了这么长时间,清明假期第一天,春光明媚!!, 1.1 2021-01-28 在南瑞路8号整理培训材料,顺便添加一下filter的启用参数
- 作者:
- 帮帮组
-
-
方法详细资料
-
init
public void init(javax.servlet.FilterConfig argFilterConfig) throws javax.servlet.ServletException初始化方法- 指定者:
init在接口中javax.servlet.Filter- 参数:
argFilterConfig- 过滤配置信息- 抛出:
javax.servlet.ServletException- Servlet 异常- 另请参阅:
Filter.init(FilterConfig)
-
doFilter
public void doFilter(javax.servlet.ServletRequest argRequest, javax.servlet.ServletResponse argResponse, javax.servlet.FilterChain argChain) throws java.io.IOException, javax.servlet.ServletExceptionHTTP 请求字符编码过滤处理- 指定者:
doFilter在接口中javax.servlet.Filter- 参数:
argRequest- ServletRequestargResponse- ServletResponseargChain- FilterChain- 抛出:
java.io.IOException- 数据流异常javax.servlet.ServletException- servlet异常- 另请参阅:
Filter.doFilter(ServletRequest, ServletResponse, FilterChain)
-
destroy
public void destroy()
销毁处理方法- 指定者:
destroy在接口中javax.servlet.Filter- 另请参阅:
Filter.destroy()
-
-