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

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

我有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,上下文标记的useHttpOnly =“true”属性
> conf / server.xml,带有ajp或http的secure =“true”属性
>连接器WEB-INF / web.xml具有以下内容

< cookie的配置>
<仅HTTP>真< /仅HTTP>
<安全>真< /安全>
< / cookie的配置>

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

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

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

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

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

我的问题是

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

解决方法

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

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

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些