我正在使用CF 8将网站从使用CF 8的服务器迁移到使用CF 10的新服务器。在这个网站中,我有一个查找人才的查询,然后将结果列表写入cfcookie。在任何浏览器的计算机上它都能正常工作。我的客户端使用与我通常使用的浏览器相同的浏览器(Safari),并且他的浏览器在搜索后没有使用新的人才列表更新cfcookie。他们非常不开心也让我不开心。关于可能导致这个问题的任何想法。
在application.cfm中(是的,我知道我应该更新到cfc,但当天没有足够的时间):
<CFAPPLICATION NAME="lil"
CLIENTMANAGEMENT="yes"
SESSIONMANAGEMENT="yes"
SESSIONTIMEOUT=" #createTimeSpan(0,0,30,0)#"
APPLICATIONTIMEOUT=" #createTimeSpan(0,1,0,0)#"
clientstorage="cookie">
设置cfcookie:
<cfif isdefined('getTalent.recordcount') and getTalent.recordcount gt 0>
<cfcookie name="tSearch" value="#valueList(getTalent.talentID)#" httponly="true" expires="1">
</cfif>
答案 0 :(得分:0)
您在Cookie中存储的数据量有多大,客户端可能存储的数量超过您的数量?他们是否可能使用某种类型的cookie阻止安全应用程序?
在更大的思维模式中,如果用户正在进行搜索并获得结果,而不是将结果存储在cookie中,为什么不使用会话范围的变量,或者只是使用CF身份cookie是否将结果存储在临时数据库位置? Cookie问题可能更难以追踪,但除非您不在Application.cfc或cfapplication标记中管理会话,否则每个用户都已获得一个唯一的ID,您可以利用服务器端来处理此类事件。
最后一个想法......在尝试存储cookie之后,你正在进行任何类型的CFLOCATION重定向吗?重定向可能导致CFCOOKIE命令无法被接受,因为实质上用户的浏览器在收到响应之前被重定向。