gpt4 book ai didi

java - httpservletrequest - 创建新 session /更改 session ID

转载 作者:IT老高 更新时间:2023-10-28 20:55:13 40 4
gpt4 key购买 nike

我正在维护一个 Java Web 应用程序。

查看登录代码,它通过 HttpServletRequest 的 getSession() 方法从 HttpServletRequest 中获取 HttpSession。 (它使用 session 中的一些值进行身份验证)

但是,我担心 session 固定攻击,所以在使用初始 session 后,我想启动一个新 session 或更改 session ID。这可能吗?

最佳答案

Servlet 3.0 API 不允许您更改现有 session 的 session ID。通常,为了防止 session 固定,您只需创建一个新的并使旧的无效。

您可以像这样使 session 无效

request.getSession(false).invalidate();

然后用

创建一个新 session

getSession(true)(getSession() 应该也可以)

显然,如果您想要持久化 session 中的数据,则需要将其从第一个 session 复制到第二个 session 。

注意,对于 session 固定保护,通常认为只对身份验证请求执行此操作是可以的。但是更高级别的安全性涉及丢弃旧 session 并为每个请求创建一个新 session 。

关于java - httpservletrequest - 创建新 session /更改 session ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2311429/

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