gpt4 book ai didi

session - 如何保护我的 JSESSIONID 不受 document.execCommand (“ClearAuthenticationCache” 影响)?

转载 作者:行者123 更新时间:2023-11-28 21:48:21 30 4
gpt4 key购买 nike

这可能是这个问题的重复,但提出的解决方案对我们来说不可行: Protect against 3rd party callers of document.execCommand("ClearAuthenticationCache")? Clears our session cookies

长话短说:IE 有一种使用 JavaScript 清除 session cookie 的方法 - document.execCommand(“ClearAuthenticationCache”)。这用于各种 Web 应用程序,包括 Outlook Web App(可能还有许多其他应用程序)。问题是 MS 以其无限的智慧决定这个命令应该清除所有打开站点的 session cookie(你能看出我有点苦涩吗,我花了几个月的时间才找到随机丢失的 JSESSIONID 的来源) .

我们使用 JSESSIONID 以及另一个 token 来确保用户已通过身份验证。 JSESSIONID 是安全httpOnly。这很好用,除非 JSESSIONID 被第三方清除。所以我的问题分为两部分:

  1. 有什么方法可以保护我的 session cookie 不受此影响(假设任何涉及客户端配置的事情,例如固定或注册表黑客,都是不可取的)?

  2. 如果没有,我是否有办法安全地从中恢复?由于 JSESSIONID 是 httpOnly,浏览器应该无法读取它,但也许有一些我没有想到的事情。

如果相关:我们使用 Tomcat 7 作为我们的网络服务器。该应用程序是一个相当复杂的 SaaS 应用程序,安全性非常重要。

谢谢大家。

最佳答案

我相信以下任一选项都可以保护 servlet session 免受 document.execCommand(“ClearAuthenticationCache”) 的影响:

你可以 set the max-age of your JSESSIONID在你的 web.xml 中。这样您的 JSESSIONID cookie 将不再是 session cookie!这会使您的 Web 应用程序的安全性略有下降,因为 cookie 在浏览器关闭后仍然存在。

您可以完全放弃 HTTP cookie,并且 configure Tomcat to do session tracking with the SSL session ID .我自己从未实际配置过它,但我猜这比使用 JSESSIONID cookie 更安全。但是,在此配置中无法进行 session 复制。

关于session - 如何保护我的 JSESSIONID 不受 document.execCommand (“ClearAuthenticationCache” 影响)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31799488/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com