gpt4 book ai didi

coldfusion - 重置 ColdFusion session 变量(CFTOKEN、CFID、JSESSIONID)的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-03 20:53:43 24 4
gpt4 key购买 nike

以下问题的结论是,从 http 切换到 https 后重建 session token 是个好主意。

In ColdFusion do I need to reestablish session tokens after switch from http to https?

问题是,这样做最有效的方法是什么?

最佳答案

这是一件说起来容易做起来难的事情。

我研究这个问题已经有一段时间了,所以请理解您可能需要解决它的问题。

对于 Java EE session ,我认为它更容易一些,因为您可以在 session 上调用 invalidate()。但是,不幸的是,这只是成功的一半。你真的有几个问题需要解决。他们是

  1. 找到一些方法来存储您需要的任何现有 session 数据(序列化和存储)

  2. 使旧 session 无效(对于 Java EE 和 CF session 都可能,但没有记录使用 CF session 的方法)

  3. 使旧 cookie 过期

  4. 创建一个新 session

  5. 将您在步骤 1 中存储的旧 session 中的数据复制到新 session 中

  6. 为新 session 设置新 cookie

这可能看起来不太棘手,潜在的困难部分是在一个请求中完成它,因为通常在发出请求之前不会创建 session ,并且在返回响应之前不会设置 cookie。

我认为使用 Java EE 最简单,因为您可以在旧 session 上调用 invalidate(),然后通过调用 getRequestContext().getSession() 获得一个新 session (我相信是这种情况,而且我只相信它适用于 Java EE session )。

我已经考虑过如何使用 CF session 来完成这些事情,我唯一能想到的就是让创建新 session 的代码向站点上的页面发出 CFHTTP 请求,以便可以创建新 session . CFHTTP 响应将包含一个新的 cookie,然后您可以使旧的 cookie 过期,并使用标签设置新的。

希望对你有帮助

关于coldfusion - 重置 ColdFusion session 变量(CFTOKEN、CFID、JSESSIONID)的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6982934/

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