public class IllegalAccessBlockFilter extends AbstractHttpFilter
실제 사용자가 아닌 웹봇 등에 의해 사이트 접근하는 것을 차단하기 위한 필터.
차단할 대상은 동일 IP에서 정해진 시간 내에 요청이 있게 되면, 차단하는 것으로 한다. 기본 시간은 300 밀리초로 하며 파라미터로 설정할 수 있다.
블랙리스트에 없는 IP라도 정해신 회 수 이상 최소 요청 간격 시간을 어기면 블랙리스트에 추가한다.
차단 대상 IP, 차단 예외 IP와 URI을 둘 수 있게 한다.설정할 수 있는 파라미터 값
관리를 위해 파라미터에 따라 몇 가지 기능을 둔다.
명령의 종류는 다음과 같다.
Constructor and Description |
---|
IllegalAccessBlockFilter() |
Modifier and Type | Method and Description |
---|---|
void |
doFilter(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain)
HTTP 요청을 처리한다.
|
void |
init(javax.servlet.FilterConfig config) |
doFilter
destroy
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
init
in interface javax.servlet.Filter
init
in class AbstractFilter
javax.servlet.ServletException
com.koreantk.servlet.filter.AbstractHttpFilter#init(javax.servlet.config)
public void doFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
AbstractHttpFilter
doFilter
in class AbstractHttpFilter
request
- HttpServletRequest 구현 클래스의 객체.response
- HttpServletResponse 구현 클래스의 객체.java.io.IOException
javax.servlet.ServletException