Java過濾ip,只允許配置的ip能夠被訪問


Java過濾ip,只允許配置的ip能夠被訪問

第一先創建過濾類 實現Filter就會有init(),doFilter(),destroy()三個方法

private String ips;

    public String getIps() {
        return ips;
    }

    public void setIps(String ips) {
        this.ips = ips;
    }

    public ipConfigFilter(String ips) {
        this.ips = ips;
    }

    public ipConfigFilter() {
        this.ips = "";
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        ips = filterConfig.getInitParameter("ips");
        String[] ipList = this.getIps().split(",");
        for (String ip : ipList) {
            logger.debug(ip);
        }
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        String[] ipList = this.getIps().split(",");
        String invokerIp = request.getRemoteAddr();

        logger.debug("remot:" + invokerIp);
        boolean falg = Arrays.asList(ipList).contains(invokerIp);
        if (!falg) {
            response.setContentType("application/json;charset=UTF-8");
            response.getWriter().print("{'code':'401','msg':'您無權限訪問該地址'}");
        } else {
            chain.doFilter(request, response);
        }

    }

    @Override
    public void destroy() {

    }

  在web.xml里配置過濾信息

  param-value可以配多個用逗號隔開
  
 <filter>
        <filter-name>ipConfigFilter</filter-name>
        <filter-class>com.Filter.ipConfigFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
            <param-name>ips</param-name>
            <param-value>10.1000.100.100,20.100.100.100</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>ipConfigFilter</filter-name>
        <url-pattern>/page/pc-back/*</url-pattern>
    </filter-mapping>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM