繁体   English   中英

undestanding secure / httponly cookie如何适用于Java应用程序

[英]Undestanding how secure/httponly cookie works for java applications

由于我目前对此的理解水平,我一直有一种行为,我只能认为是奇怪的。

我有apache版本:2.4.7在Ubuntu上代理通过AJP 1.3 tomcat 7.0.52.0运行一个spring应用程序(MVC)和apache shiro 1.2作为安全框架。

我在apache2.conf中设置了header条目,如下所示

Header always append X-Frame-Options SAMEORIGIN
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

如果使用以下任一或所有方法在tomcat端强制执行标志,我会有相同的行为:

  • conf / context.xml与contextHttpOnly =上下文标记的“true”属性
  • conf / server.xml,带有ajp或http的secure =“true”属性
  • 连接器WEB-INF / web.xml具有以下内容

    <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config>

在此之后,在/login有一个安全的和httponly标志,在认证成功之后,所有这些标志在应用程序中消失,在任何对服务器的调用中。 一旦用户注销,标志将返回另一个:jsessionid和RememberMe上的DeleteMe

此/ login页面使用secure和httponly标志创建jsessionid jsessionid登录

验证成功后,2步auth jsessionid没有标志

2步认证

在帐户仪表板中也没有标志

帐户信息中心

但在注销时,旗帜又回来了 登出

我的问题是

1 :这是通常的行为
2 :如果这是实际行为,这是否意味着cookie在会话ID的整个生命周期内都是安全的?

这不是通常的行为/观察,因为这些标志不适用于发送到服务器以维持状态的Cookie 请求标头 接收的值由客户端使用,但不由客户端传输。 您正在被显示Cookie标头列的诊断界面误导。 Set-CookieCookie这种方式不对称。

判断您的非浏览器客户端是否遵守“安全”设置的唯一方法是诱使它将非HTTPS请求发送到cookie中指定的相同域/路径,并观察它是否省略了先前设置为SECURE的cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM