【发布时间】:2015-10-26 06:43:17
【问题描述】:
这可能是这个问题的重复,但提出的解决方案对我们来说是不可行的: Protect against 3rd party callers of document.execCommand("ClearAuthenticationCache")? Clears our session cookies
长话短说:IE 有一种使用 JavaScript 清除会话 cookie 的方法 - document.execCommand(“ClearAuthenticationCache”)。这用于各种 Web 应用程序,包括 Outlook Web App(可能还有许多其他应用程序)。问题是 MS 在他们无限的智慧中决定这个命令应该清除所有打开站点的会话 cookie(你能说我有点苦吗,我花了几个月的时间才找到随机丢失的 JSESSIONID 的来源) .
我们使用 JSESSIONID 以及另一个令牌来确保用户经过身份验证。 JSESSIONID 是 secure 和 httpOnly。这很好用,除非 JSESSIONID 被第三方清除。所以我的问题分为两部分:
有什么方法可以保护我的会话 cookie 不受此影响(让我们假设任何涉及客户端配置的事情,例如固定或注册表黑客,都是不可选择的)?
如果没有,我有办法安全地从中恢复吗?由于 JSESSIONID 是 httpOnly,浏览器应该无法读取它,但也许有一些我没有想到的东西。
如果相关:我们使用 Tomcat 7 作为我们的网络服务器。该应用是一个相当复杂的 SaaS 应用,安全性相当重要。
谢谢大家。
【问题讨论】:
标签: session tomcat cookies jsessionid