【问题标题】:ColdFusion: CFID and CFToken change on each page requestColdFusion:CFID 和 CFToken 在每个页面请求上发生变化
【发布时间】:2016-06-16 21:44:05
【问题描述】:

我被要求使用 J2EE 变量并且不要将 CFIDCFTOKEN 存储在 cookie 中,因为 CFID 被报告为不合规:Predictable Cookie Session ID's Reported by Compliance Tests

  • 在我的 Application.cfm 中,我添加了 setclientcookies="false"。这会阻止 CFID 和 CFToken 被写入 cookie。
  • 在 ColdFusion Admin 中,我启用了 J2EE 会话变量

所以我现在有一个带有JESSIONID 的cookie,以及一个带有URLToken 的包含CFID 和CFTOKEN 的会话变量。但是,每次我刷新页面时,CFID 和 CFTOKEN 都会发生变化。他们不像以前那样坚持下去。这意味着我们的管理员登录系统失败了。

我自己在谷歌上搜索过,但到目前为止一无所获。我发现的一个建议是编写代码来持久化 CFID 和 CFTOKEN。但是,这感觉不是一个好的解决方案。

有什么建议吗?

准系统测试

我安装了 CF 10 Developer Edition 并启用了 J2EE 会话变量

创建了一个Application.cfm
<cfapplication name="test" sessionmanagement="Yes" setclientcookies="false">

还有一个带有

的index.cfm
<h1>Cookie</h1>
<cfdump var="#cookie#">
<h1>Session</h1>
<cfdump var="#session#">

Session.URLToken 每次刷新都会改变

CFID=2212&CFTOKEN=41db974c3d2eb4b6-640C21AE-FD53-499C-71FBEBA35D6B09E8&jsessionid=E28AA17629928FB6F9E17674AC85C7AA.cfusion

CFID=2213&CFTOKEN=bb791a304929d0f5-6425021B-A31B-B9C8-3628AE391B0F48FF&jsessionid=E28AA17629928FB6F9E17674AC85C7AA.cfusion

进一步的想法

CFIDCFTOKEN在我们的登录系统中用于验证用户会话匹配,也许我应该将其更改为存储和验证JESSIONID。也许CFIDCFTOKEN的变化并不重要。会话范围实际上得到了维护,因此这可能完全不是问题。

<cfparam name="session.timestamp" default="#now()#">

【问题讨论】:

  • 你有什么代码可以回答这个问题吗?
  • 您是在处理单个 ColdFusion 服务器还是多个负载平衡服务器?进行更改后您是否清除(删除)cookie?
  • @JamesAMohler - 我只是在转储范围,以查看 CFID 是否已通过 cookie 使用和 J2EE 会话更改
  • @Miguel-F 单 CF 服务器 ColdFusion 10 企业版
  • 我相信也许我们的管理员登录对 CFID 和 CFTOKEN 的依赖没有改变,是我们的问题不是 ColdFusion 是的,这可能是问题所在。您的代码无需使用任何会话标识符。让 ColdFusion (JEE) 服务器为您处理会话管理。这就是它的设计目的。

标签: security session cookies coldfusion


【解决方案1】:

setClientCookies="false" 表示coldfusion 服务器不会为当前会话创建cookie。 CFID 和 CFToken 将仍然存在并且将是非持久的。 在您的示例中检查 jsessionid 值在两种情况下都相同,并且仅在需要时才应使用该值代替 CFID 和 CFToken。 您是对的,您的会话状态在您启用 J2EE 会话变量时得到维护。

【讨论】:

  • 是的,这是我得出的结论,在标记答案之前等待任何最终输入 - 你的总结会很好:) 谢谢 - Jessionid 将页面保存到页面。
猜你喜欢
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 2015-12-01
  • 1970-01-01
相关资源
最近更新 更多