gpt4 book ai didi

session - 经典 ASP session ID Cookie 生命周期

转载 作者:行者123 更新时间:2023-12-02 21:30:06 25 4
gpt4 key购买 nike

在我的经典 ASP 应用程序中,当客户端关闭浏览器时,与 ASP session ID 相关的 cookie 就会丢失,即使 session 没有超时。所以...

如何使 ASP session ID cookie 在客户端关闭浏览器时保持不变?

最佳答案

当您启动新的浏览器 session 并浏览到您的站点时,经典 ASP 将检测到没有 ASP session cookie,并将为您创建一个新 session (正如您已经经历过的那样)。

session cookie 就是这样,它们在 session 的生命周期内存在。当您关闭浏览器时, session cookie 将被删除(即使您在服务器上的 session 状态将作为孤立 session 继续存在,直到 Session.Timeout 过期 - 除非您在 Session.Timeout 期间再次提供相同的 session cookie)。

在新的浏览器 session /实例中延长 ASP session cookie 生命周期的唯一方法是使用浏览器/客户端上的脚本更改 cookie 生命周期。

如果您希望跨事件(例如浏览器关闭)管理状态,则需要实现自己的状态管理机制(例如将状态保存到数据库)并使用具有较长生命周期的常规 cookie(或滑动过期,您可以将服务器端脚本中每个请求的生命周期延长一小部分)以将状态与用户匹配。

编辑:

以下文章有一个修改 session cookie 的脚本(向下滚动到 Cookie 过期):

但正如 Shoban 正确指出的那样,存在 Session Fixation (OWASP) 的风险。不过,您可以采取一些措施来保护自己免受这种情况的影响:

我还要添加一些警告,如果您的应用程序正在存储敏感数据(信用卡、财务、医疗等),那么我建议不要这样做,并接受您的用户将不得不再次登录并开始的事实一个新的 session 。安全总比后悔好。

关于session - 经典 ASP session ID Cookie 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1017493/

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