2

CFMX 8 企业版

我已经打开了内存变量下的“使用 J2EE 会话变量”设置,因为安全要求规定不能使用持久性 cookie。

我知道打开此设置将告诉 CF 仅创建和使用“JSESSIONID”会话 cookie。

但是,我的服务器似乎仍在创建和使用旧式的“CFID”和“CFTOKEN”cookie,有效期为 30 年后。

现在,显然,我可以在我的 Application.cfc 中使用 CFCOOKIE 操作 CFID 和 CFTOKEN 来删除过期日期,但这是我需要添加到所有应用程序中的东西。

是不是像重启 ColdFusion 服务一样简单?一个错误?还是我只是误解了设置?

4

1 回答 1

3

来自在线知识库数据库:

除了传统的 ColdFusion 会话管理之外,ColdFusion MX (CFMX) 还引入了 J2EE servlet 会话管理。J2EE 会话管理允许在单个应用程序内的 ColdFusion 页面和 JSP 页面或 servlet 之间共享会话信息。通过 J2EE 会话管理,ColdFusion 使用新变量 JSESSIONID 来跟踪用户的浏览器会话,而不是 CFID/CFTOKEN。但是,ColdFusion MX 仍会创建 CFID 和 CFTOKEN 值,但这些值不再用于唯一标识浏览器会话。J2EE 会话管理不需要应用程序名称,因此 SESSION.SESSIONID 值变为 JSESSIONID。因为 JSESSIONID 总是作为每个会话的值写入,所以当浏览器关闭时它会被销毁,并且每个新的浏览器会话都会创建一个新的。

因此生成了 CFID 和 CFTOKEN,但被忽略了。

于 2008-11-06T15:00:11.857 回答