栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【绿盟】检测到目标Strict-Transport-Security响应头缺失

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【绿盟】检测到目标Strict-Transport-Security响应头缺失

1.问题展示

项目安全扫描,扫到以下问题。

  • 检测到目标URL存在客户端(Javascript)cookie引用

  • 检测到目标Strict-Transport-Security响应头缺失

  • 检测到目标Referrer-Policy响应头缺失

  • 检测到目标X-Permitted-Cross-Domain-Policies响应头缺失

  • 检测到目标X-Download-Options响应头缺失

  • 点击劫持:X-frame-Options未配置

2. 解决问题

设置统一过滤器,过滤所有请求,设置以上响应头,即可解决问题。

~~~java

@WebFilter(urlPatterns = "/*", filterName = "responseHeadFilter")
public class ResponseHeadFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException, IOException {
        //增加响应头缺失代码
        HttpServletRequest req=(HttpServletRequest)request;
        HttpServletResponse res=(HttpServletResponse)response;
        res.addHeader("X-frame-Options","SAMEORIGIN");
        res.addHeader("Referrer-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");
        res.addHeader("Strict-Transport-Security","max-age=63072000; includeSubdomains; preload");
        //处理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);
    }
    @Override
    public void destroy() {

    }
}
~~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344960.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号