2014-05-06 99 views
1

我有一個管理網站(例如:http://www.admin.web.com/control/)和公共網站如(http://example.web.comhttp://example.com如何在不同域之間共享cookie?

我想創建從http://www.admin.web.com/control/將被共享到兩個網站http://www.example.web.comhttp://www.example.com一個餅乾。

這裏既有公共網站是相同的網址不同

所以分享餅乾,我創建域特定的cookie

<cfcookie name="admin" value="xyz" domain=".web.com"> 

所以上述cookie,將來自http://admin.web.com創建將與http://example.web.com但共享不與http://example.com

任何人都可以告訴我我將如何分享http://example.com的同一個cookie嗎?

回答

8

簡短的回答是,你不能。就用戶瀏覽器而言,admin.web.com和example.web.com是同一個(web.com)域的子域,因此它們可以由同一個人擁有。這意味着您可以進行設置,以便您上面看到的共享能夠正常工作。 不幸的是,您看到example.com不共享域名,因此您無法將它們分享爲域名cookie。

有一對夫婦的方式來避開這一點,我能想到的把我的頭,頂部沒有一個是特別漂亮:

  • 你也許可以用僥倖的AJAX callstraight到來自example.com的example.web.com與cookie中的內容在頁面響應中的對應關係。
  • 您可以在指向example.web.com頁面的example.com頁面中使用iframe,然後將讀取的cookie中的詳細信息發送回設置相同的cookie,然後在example.com上。

出於合理的安全原因,做任何一件事都不是一個好主意,而是尋找你試圖跨域共享信息的原因,並試圖找出一種避免它的方法。

+0

我知道這是不可能的。 感謝Benny的建議,但解決方案不適合我的應用程序。 – Sks

+0

爲什麼不用私鑰加密cookie併發送它? gpg,gnu等等。 – CFNinja

相關問題