zoukankan      html  css  js  c++  java
  • 使用java防止非法请求

    1.过滤器

    public class ImgFilter implements Filter {
    
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            System.out.println("过滤器开始!!!");
        }
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
            //获取当前请求的连接地址和上一个发送请求的地址
            HttpServletRequest httprequest=(HttpServletRequest) request;
            HttpServletResponse httpresponse=(HttpServletResponse) response;
            //获取上一个发送请求的连接
            String referer = httprequest.getHeader("Referer");
            String serverName = httprequest.getServerName();
            System.out.println(referer+"	"+serverName);
            //||!referer.startsWith("http://www.aproject.com")
            if (referer==null ||!referer.contains(serverName)){
                request.getRequestDispatcher("/img/ffqq.png").forward(request,response);
                return;
            }
            //放行
            chain.doFilter(request,response);
        }
    
        @Override
        public void destroy() {
            System.out.println("过滤器销毁!!!");
        }
    }

    2.web.xml

    <filter>
        <filter-name>ImgFilter</filter-name>
        <filter-class>com.szh.ImgFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>ImgFilter</filter-name>
        <url-pattern>/img/*</url-pattern>
      </filter-mapping>

    正常访问

    非法访问  从另一个项目中访问图片

     

  • 相关阅读:
    PHP变量及其操作
    PHP基本语法
    PHP安装与配置
    MySQL安装与配置
    获取一个目录的父目录
    Image控件播放 GIF文件
    保存网页MHT
    注册全局热键
    使用多线程实现打字效果
    Delphi 调用外部程序并等待其运行结束
  • 原文地址:https://www.cnblogs.com/szhhhh/p/12260220.html
Copyright © 2011-2022 走看看