Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/Web:I force';安全';标记Cookie,但在使用HTTP时它们仍然有效。为什么?_Java_Security_Cookies_Https - Fatal编程技术网

Java/Web:I force';安全';标记Cookie,但在使用HTTP时它们仍然有效。为什么?

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仅用于安全

我在web.xml中的会话配置中添加了“secure”标记

<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,所以我的应用程序仍然可以工作。非常感谢!如果您认为其他开发人员可能会遇到这种情况,您应该自己回答问题以供他人参考