zoukankan      html  css  js  c++  java
  • JAVAWEB项目报"xxx响应头缺失“漏洞处理方案

    新增一个拦截器,在拦截器doFilter()方法增加以下代码

    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
    		//增加响应头缺失代码
    		HttpServletRequest req=(HttpServletRequest)request;
    		HttpServletResponse res=(HttpServletResponse)response;
    		res.addHeader("X-Frame-Options","SAMEORIGIN");
    		res.addHeader("Referer-Policy","origin");
    		res.addHeader("Content-Security-Policy","object-src 'self'");
    		res.addHeader("X-Permitted-Cross-Domain-Policies","master-only");
    		res.addHeader("X-Content-Type-Options","nosniff");
    		res.addHeader("X-XSS-Protection","1; mode=block");
    		res.addHeader("X-Download-Options","noopen");
    
    		//处理cookie问题
    		Cookie[] cookies = req.getCookies();
    		if (cookies != null) {
    			for (Cookie cookie : cookies) {
    				String value = cookie.getValue();
    				StringBuilder builder = new StringBuilder();
    				builder.append(cookie.getName()+"="+value+";");
    				builder.append("Secure;");//Cookie设置Secure标识
    				builder.append("HttpOnly;");//Cookie设置HttpOnly
    				res.addHeader("Set-Cookie", builder.toString());
    			}
    
    		}
    
    			chain.doFilter(request, response);
    
    	}
    

      

  • 相关阅读:
    链接数据库
    Ajax 密码验证
    for循环 打印菱形 空 和 实
    for 循环 正方形
    面向对象
    用正则表达式 匹配手机号码
    正则表达式
    js 中 == 和=== 有什么区别?
    js 删除
    封装函数增删改查
  • 原文地址:https://www.cnblogs.com/pxblog/p/11630736.html
Copyright © 2011-2022 走看看