前言

AppScan漏洞扫描出:加密会话(SSL)Cookie 中缺少 Secure 属性
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、采用springboot的ServletContextInitializer接口解决

ServletContextInitializer是由Spring提供的初始化接口

代码如下(示例):

@Configuration
@EnableWebMvc
public class SwaggerConfig extends WebMvcConfigurerAdapter {
    //现场需https协议的Cookie需设置Secure为true.
    @Bean
    public ServletContextInitializer servletContextInitializer() {
        return new ServletContextInitializer() {
            @Override
            public void onStartup(ServletContext servletContext) throws ServletException {
                servletContext.getSessionCookieConfig().setSecure(true);
            }
        };
    }
}

总结

注意:
在setSecure(true); 的情况下,只有https才传递到服务器端。http是不会传递的。
setSecure(true)意味着"指示浏览器仅通过 HTTPS 连接传回 cookie。这可以确保 cookie ID 是安全的,且仅用于使用 HTTPS 的网站。如果启用此功能,则 HTTP 上的会话 Cookie 将不再起作用。"