我们刚刚升级到IIS7并且遇到了SESSION变量的间歇性问题。简而言之,只有极低百分比的用户会在每次页面请求时获得新的SESSION ID。清除cookie几乎解决了我遇到的每一个用途的问题。
我的问题是......有没有办法以编程方式执行此操作?对于无法登录/无法使某个应用程序工作的人来说,这是一个较低比例的呼叫,所以这不是一个巨大的交易,但我们必须让人们整天清理cookie。我没有看过,也没有看到强制用户清除cookie的方法。
此处的大多数其他问题是在任何地方都有此问题的用法,就好像存在程序错误一样。我们的应用程序工作正常,只有一小部分在旧服务器上使用我们的应用程序的用户无法从新服务器获取新的会话cookie。
我们运行的是IIS6 / CF9,我们升级到了IIS7 / CF10。这个问题是跨浏览器。我们已经看到它出现在IE,FF和Chrome中。
- 编辑 -
如果用户清除cookie并转到domian.com然后转到sub.domain.com,则domain.com cookie先行,浏览器我想永远不会返回它从sub获取的sub.domain.com cookie。 domain.com服务器。我想,在sub.domain.com上启用J2EE cookie可以解决问题,但是客户端仍然使用来自domain.com的cookie。域cookie是默认设置的任何内容...即我们不在app.cfc中将其设置为任何内容。我不知道它是如何在domain.com上设置的。
答案 0 :(得分:1)
在Application.cfc中,您是否将域cookie设置为true?
答案 1 :(得分:0)
听起来它可能与去年2月推出的session fixation Hotfix Adobe有关。您的CF9服务器是否完全打补丁?
简而言之,CF现在在每个会话上发布新的CFID / TOKEN值,并且不会使用现有的cookie值(以防止会话劫持)。确保您的应用正在将这些新值写入Cookie,并且不允许使用现有Cookie值。
这是一个detailed explanation正如该帖子的评论所指出的那样,使用J2EE会话确实是解决问题的一种方法。