springboot Cookie设置Secure为true
Cookie设置Secure为true
前言
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 将不再起作用。"