假设我让localhost和localhost2都指向127.0.0.1
在//本地主机/测试/test.cfm (\wwwroot\test\test.cfm)中
<cfset session.name="HAHA">
<cfcookie domain=".localhost2" name="CFID" value="#session.cfid#">
<cfcookie domain=".localhost2" name="CFTOKEN" value="#session.cftoken#">
<cflocation url="//localhost2/test/test2.cfm" addtoken="false">在//localhost2/test/test2.cfm (\wwwroot\test\test2.cfm)中
<cfdump var="#session#">我期望//localhost2/test/test2.cfm显示session.name = "HAHA",但是它生成了一个新会话,为什么?是不是因为我不能从本地主机设置.localhost2 cookie?
谢谢!
发布于 2009-07-29 15:30:37
会话可以跨域,但cookies不能。(正如您所发现的,子域略有不同。)出于安全原因,abc.com无法访问XYZ.comCookie。但是,CF本身并不关心您使用的是什么域名。
因此,如果您的链接没有在URL中传递cfid和cftoken,则会话将丢失。但是,如果您在链接(或cflocation等)中传递了id和令牌,则会话仍将处于活动状态。
https://stackoverflow.com/questions/1197102
复制相似问题