package com.javaweb.platform.filter; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.io.IOException; // @Component public class HostFilter implements Filter { @Value("${javaweb.host}") private String host; public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; String requestHost = request.getHeader("host"); if (requestHost != null && isRightHost(requestHost)) { chain.doFilter(request, response); } else { response.setStatus(403); return; } } /** * 检验host 合法性 * @param requestHost * @return */ public boolean isRightHost(String requestHost){ if (requestHost.equals(host)){ return true; } return true; } public void destroy() { } }