这可能与此问题重复,但提出的解决方案对我们来说不可行: 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 (你能告诉我有点苦,我花了几个月才找到随机丢失的JSESSIONIDs的来源) 。
我们使用JSESSIONID以及另一个令牌来确保用户经过身份验证。 JSESSIONID是安全和 httpOnly 。这种方法很有效,除非JSESSIONID被第三方消灭。所以我的问题分为两部分:
有没有办法可以保护我的会话cookie(让我们假设任何涉及客户端配置的内容,例如固定或注册表黑客攻击,是不可选的)?
如果没有,有没有办法让我安全地从中恢复?由于JSESSIONID是httpOnly,浏览器应该无法读取它,但也许有些东西我没想到。
如果相关:我们使用Tomcat 7作为我们的网络服务器。该应用程序是一个相当复杂的SaaS应用程序,安全性非常重要。
谢谢大家。