app.use(session({
secret: "testing credentials",
store: sessionStore,
resave: true,
saveUninitialized: true,
cookie : {
httpOnly: true,
//secure: true,
maxAge : 60 * 60 * 1000
}
}));
我正在解决我新开发的网站上的一些安全问题。经过网上研究,如果设置secure=true,那么会更安全。然而,
如果设置 secure: true,那么每次用户发送另一个请求时,会话中的信息都会丢失。有办法解决这个问题吗?如果 cookie: 中不包含“secure: true”,则会话将持续该 maxAge。
如果 cookie 设置为secure
标志,它只会由浏览器通过 https 发送到服务器,而不是纯 http。这应该是生产环境的默认设置。
但是,在开发应用程序时,您可能在开发计算机上使用纯 http。如果您将会话 cookie 设置为secure
在这种情况下(使用纯 http),服务器将永远不会收到它,并且您将在每个请求上遇到一个新的空会话。
简而言之,您应该只将 cookie 设置为secure
如果您使用 https(即,在开发管道的后期阶段,并且绝对是在生产中)。
另一方面,如果您设置maxAge
,cookie 将被持久化,这不是会话 cookie 的最佳实践。没有maxAge
,cookie 将保留到用户关闭浏览器为止,并且通常不会持久保存到磁盘,这是会话 cookie 的正确行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)