2009-07-28 17 views
2

のは、私をlocalhostと// localhost2でlocalhost2両方//localhost/test/test.cfmに同じCFインスタンスを指している別のドメインにセッションを転送できますか?

を127.0.0.1に向いて(\ wwwrootにする\テスト\の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"> 

てきたとしましょう/test/test2.cfm(\ wwwrootにする\テスト\のtest2.cfm)

<cfdump var="#session#"> 

私は= "HAHA" session.nameを表示する//localhost2/test/test2.cfmを期待し、それは新しいセッションを生成し、代わりに、なぜですか?ローカルホストから.localhost2 cookieを設定できないためですか?

ありがとうございます!

+0

私はone.localhostとtwo.localhostを試してみました。 とcfcookie domain = ".localhost"を設定しました。 :) – Henry

答えて

3

セッションはドメインをクロスできますが、クッキーはドメインを通過できません。 abc.comはセキュリティ上の理由からxyz.comのCookieにアクセスすることはできません。しかし、CF自体はあなたが使用しているドメイン名を気にしません。

でなく、のURLにcfidとcftokenを渡したリンクがあった場合、セッションは失われます。ただし、リンク(またはcflocationなど)でIDとトークンを渡した場合でも、セッションは引き続き有効になります。

関連する問題