- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我一直有一种行为,由于我目前对此的理解水平,我只能称之为怪异。
我有 apache 版本:2.4.7 在 Ubuntu 上通过 AJP 1.3 tomcat 7.0.52.0 代理运行一个以 apache shiro 1.2 作为安全框架的 spring 应用程序 (MVC)。
我已经在 apache2.conf 中设置了 header 条目,如下所示
Header always append X-Frame-Options SAMEORIGIN
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
如果使用以下任一或所有方法在 tomcat 端强制执行标志,我会有完全相同的行为:
连接器 WEB-INF/web.xml 如下
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
在此之后发生的是在 /login
有一个安全和 httponly 标志,在身份验证成功后,所有这些标志在应用程序中消失,在对服务器的任何调用中。用户注销后,标志会返回一个额外的标志:DeleteMe
在 jsessionid 和 RememberMe 上。
这个/login 页面创建带有 secure 和 httponly 标志的 jsessionid
当身份验证成功时,2 步 auth jsessionid 没有标志
在帐户仪表板中也没有标记
但是在注销时标志又回来了
不过我的问题是
1:这是通常的行为吗
2:如果这是实际行为,这是否意味着 cookie 在 session ID 的整个生命周期内都是安全的?
最佳答案
这不是通常的行为/观察,因为这些标志不适用于发送到服务器以维持状态的 Cookie
请求 header 。接收到的值由客户端使用,但不由客户端传输。您被显示 Cookie
header 列的诊断界面误导了。 Set-Cookie
和 Cookie
这样就不对称了。
判断您的非浏览器客户端是否支持“SECURE”设置的唯一方法是诱使它向 cookie 中指定的相同域/路径发送非 HTTPS 请求,并观察它是否省略了先前设置的 cookie作为安全。
关于java - 了解 secure/httponly cookie 如何为 java 应用程序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799349/
我是一名优秀的程序员,十分优秀!