代码之家  ›  专栏  ›  技术社区  ›  Henry

会话是否可以传输到指向同一个CF实例的不同域?

  •  2
  • Henry  · 技术社区  · 15 年前

    假设localhost和localhost2都指向127.0.0.1

    在//localhost/test/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”,但它会生成一个新的会话,为什么?是因为我无法从localhost设置.localhost2 cookie吗?

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  3
  •   Ben Doom    15 年前

    会议 可以跨域,但是 曲奇饼 不能。(正如您所发现的,子域有点不同。)出于安全原因,abc.com不能访问xyz.com的cookie。但是,CF本身并不关心您使用的域名。

    所以,如果你有一个链接 在URL中传递cfid和cftoken,会话将丢失。但是,如果您在链接(或cflocation等)中传递了ID和令牌,那么会话仍然是活动的。