Java/Web:I force';安全';标记Cookie,但在使用HTTP时它们仍然有效。为什么?
我在web.xml中的会话配置中添加了“secure”标记Java/Web:I force';安全';标记Cookie,但在使用HTTP时它们仍然有效。为什么?,java,security,cookies,https,Java,Security,Cookies,Https,我在web.xml中的会话配置中添加了“secure”标记 <session-config> <session-timeout>30</session-timeout> <cookie-config> <secure>true</secure> </cookie-config> </session-config> 30 真的 因此,它强制服务器创建的所有cookie仅用于安全
<session-config>
<session-timeout>30</session-timeout>
<cookie-config>
<secure>true</secure>
</cookie-config>
</session-config>
30
真的
因此,它强制服务器创建的所有cookie仅用于安全连接(HTTPS)。
然而,如果我使用HTTP协议打开我的web应用程序,这些cookie仍然有效。
使用HTTP Firebug时,显示服务器放置的cookie上设置了“安全”标志(我不是说JavaScript创建的cookie)
问题是:
根据我的理解,如果我强制所有服务器cookie都是安全的,那么它们根本不应该在HTTP上使用。所以我不能登录到我的应用程序或者做任何需要会话的事情。然而,应用程序仍然通过HTTP工作,没有任何问题
我错在哪里?你能为你的web应用域清除所有浏览器cookie吗?当你通过https向你的web应用发出请求时,你会得到一个带有安全标志true的cookie,现在如果你打开firebug网络选项卡并通过http向你的web应用发出请求,你会看到发送的是同一个cookie吗?是的,你是对的,使用HTTP时,未将这些安全cookie添加到请求头中。我的代码中有bug,它使用userid而不是session,所以我的应用程序仍然可以工作。非常感谢!如果您认为其他开发人员可能会遇到这种情况,您应该自己回答问题以供他人参考