Session 奇怪的会话cookie行为

Session 奇怪的会话cookie行为,session,cookies,coldfusion,coldfusion-10,Session,Cookies,Coldfusion,Coldfusion 10,我注意到我的ColdFusion会话Cookie出现了奇怪的行为,其中没有保留domain、path和httponly属性 在我的application.cfc文件中,我将this.setclientcookies设置为false 在onSessionStart事件中,我有以下代码: <cfset sessionRotate()> <cfcookie name="CFID" value="#session.cfid#" path="#application.sessioncoo

我注意到我的ColdFusion会话Cookie出现了奇怪的行为,其中没有保留domain、path和httponly属性

在我的application.cfc文件中,我将
this.setclientcookies
设置为false

在onSessionStart事件中,我有以下代码:

<cfset sessionRotate()>
<cfcookie name="CFID" value="#session.cfid#" path="#application.sessioncookiespath#" domain="#application.sessioncookiesdomain#" httponly="yes">
<cfcookie name="CFTOKEN" value="#session.cftoken#" path="#application.sessioncookiespath#" domain="#application.sessioncookiesdomain#" httponly="yes">

我第一次访问页面时,CFID和CFTOKEN cookies会被发送到浏览器,并带有正确的值、域、路径和到期日期等

但是,当查看后续请求的请求cookie时,除了cookie的值之外,其他所有内容都已丢失

如果我随后关闭浏览器,重新打开它并转到一个页面,相同的cookies被发送到服务器,因此我得到相同的会话,而不是浏览器在关闭时删除cookies的预期行为

有人能解释一下吗

谢谢


作为对肖恩的回应

初始请求返回到www.domainname.com/sub的响应cookie为:

设置Cookie CFID=123456;域名=.domainname.com;Expires=2014年2月7日星期五15:12:33 GMT;路径=/sub;HttpOnly

设置Cookie CFTOKEN=2CF168A89952FEC%2D4DAC5903%2D1DD8%2DB71C%2D3B0166C2FDAF5D6B;域名=.domainname.com;Expires=2014年2月7日星期五15:12:33 GMT;路径=/sub;HttpOnly

对任何其他页面(与/子目录相同级别或更深的任何页面)或同一页面(即刷新页面)的后续请求发送以下请求cookie字符串:


CFID=191297;CFTOKEN=2CF168A89952FEC%2D4DAC5903%2D1DD8%2DB71C%2D0B0166C2FDAF5D6D;ASP.NET_SessionId=s43bplyduc0hkgintth4gcqh

这是一个CF10错误,已修复,但不可用


后续请求是指刷新还是转到其他页面?如果选择其他页面,则可能取决于所使用的路径和域参数的值。你能不能不给我们显示变量,而直接输入你正在使用的实际值以及你从服务器请求的页面路径?@SeanCoyne请查看我的editsOK,这些是发送的标题。因此,第一对夫妇正在设置cookies。接下来的是浏览器加载的cookie。如果域和路径不匹配(您说是匹配的),那么浏览器将不会发送它们,但它正在发送它们,它将正常工作。另外,如果您使用J2EE会话,您的会话可能会更顺利,因为J2EE会话将设置jsessionid cookie,而不是cfid和cftoken cookie。不确定您的用例是什么,但我总是使用J2EE会话,FWIW。