使用java防止非法请求

摘要:
“);}2.web.xmlImgFiltercom.szh.ImgFilterimg过滤器/img/*正常访问非法访问其他项目中的图片

1.过滤器

public class ImgFilter implementsFilter {


    @Override
    public void init(FilterConfig filterConfig) throwsServletException {
        System.out.println("过滤器开始!!!");
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throwsIOException, 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 voiddestroy() {
        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>

正常访问

使用java防止非法请求第1张

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

使用java防止非法请求第2张

免责声明:文章转载自《使用java防止非法请求》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PDA模拟器上网设置如何让服务端同时支持WebSocket和SSL加密的WebSocket(即同时支持ws和wss)?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mapbox Style 规范

Mapbox ( 中文官网 )致力于打造全球最漂亮的个性化地图。 这里记录下其 Web 端 API Mapbox GL JS 的地图样式规范 Style 的各个配置项: 必填项会加上 * ,方便根据目录进行查看 1. version * version:版本号(必填,且值必须为 8) "version": 8 2. name name:名称(可选,用于给...

SpringXML方式配置bean的集合注入:list,map,properties

新建一个bean,设置相应的集合属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 publicclassCollections {     privateSet<String> sets;     privateList<String> l...

springboot&amp;amp;layedit 上传文件,配置静态资源文件,存放磁盘其他目录

配置文件配置存放路径 upload-path=D:/upimages/ 表单页面 layedit.set({ uploadImage: { url: '/manage/upload' //接口url ,type: 'post' //默认post...

常用后端json处理方法

一、什么是json? json本来是javascript里的内容,有时后端要传各种各样的数据格式来适应前端,所以需要用到json来转换,用它来表示各种各样复杂的数据,如对象,数组,集合,以及集合的集合等数据。 json是一种轻量级的前端后端以及网络传输的数据交换格式,就是一串字符串,只不过元素会使用特定的符号标注。 {} 双括号表示对象,[] 中括号表示数...

【cocos2d-js官方文档】十八、Cocos2d-JS v3.0中的属性风格API

1. 新的API风格 我们直接来看看你可以如何使用Cocos2d-JS v3.0: 以前的API 新的API node.setPosition(x, y); node.x = x;node.y = y; node.setRotation(r); node.rotation = r; 如表格中可以看到的,设置position属性的函数调用...

c#下怎么判断一个字符串是否可以转换为double类型

using System.Text.RegularExpressions; //引入Regex命名空间bool a = Regex.IsMatch(string, @"^[+-]?d*[.]?d*$"); //这个方法会返回一个布尔值,如果string字符串可以转换为double,则返回True,反之为False。bool b = Regex.IsMatc...