我正在处理大约10年前使用Coldfusion 8编写的票务系统。当用户通过身份验证并登录时,用户关于其ID的信息将保存在CF cookie中,并且该站点使用这些cookie来填充它用户填写门票时的用户ID,姓名等。
此应用程序在Internet Explorer 6.0中正常运行但是我们正在慢慢迁移到Internet Explorer 8,因此这里有一些用户已经开始使用IE8全天候。我们一直在收到一些IE8用户的投诉,其中会话中,cookie丢失/变为空,用户无法完成票证。用户可以正常登录,但有时在会话中,会出现“NAME UNDEFINED”等错误。他们似乎并不孤立于特定的门票,因为我查看了我们所有的投诉,并且他们在各种门票中被发现。我检查日志/屏幕截图,果然,员工ID的cookie为空。我在网上搜索过,我找不到好的修复方法。
我考虑过将cookie转换为会话变量,但这将是一项艰巨的任务,需要进行大量测试。
有什么想法?提前谢谢。
答案 0 :(得分:1)
域名发生变化的可能性有多大?您可以在www.servername.com和servername.com之间切换?除非您正在编写域cookie,否则域中的更改将导致为一个域cookie编写的内容无法从另一个域访问。您可以在Application.cfm或Application.cfc文件中启用域cookie。在Application.cfc中设置<cfset this.setDomainCookies = true />
或在setDomainCookies="true"
标记上设置<cfapplication />
属性。这将写出可从任何子域访问的cookie。
Cookie过期了吗?您可以设置cookie的到期日期。也许它会在用户会话到期之前到期?
您是否尝试使用IE开发工具栏来跟踪Cookie?您可以使用它来查看为您的网站设置的Cookie。
答案 1 :(得分:0)
在我的一个应用程序中,我们的用户面临同样的问题。它突然开始没有任何代码更改。我们建议他们清除缓存和tr-try并且它有效。但我需要知道根本原因和它的修复。 谢谢