2011-08-02 60 views
1

我試圖保持在兩個領域流傳着相同的主機網站上(一個實際上是在其他的子文件夾):分享餅乾跨域同一主機

www.a.com -> /.../public_html/ 
www.b.com -> /.../public_html/b/ 

我有一個劇本在a.com上,我們稱之爲public_html/readcookiedata.php,它從cookie中讀取一些會話變量。 b.com上的另一個腳本,比如public_html/b/index.php,還需要讀取此cookie。

現在index.php嘗試到require_once(../readcookiedata.php)

這很好,如果我訪問www.a.com/b/index.php:cookie被讀取OK。 但是,如果我直接瀏覽到那裏,www.b.com/index.php,cookie不會被讀取。

解決此問題的最佳方法是什麼? a.com是否允許b.com讀取其Cookie?或者通過某種方式將主機配置爲將對b.com的所有請求視爲與a.com/b/相同?

+0

我認爲你有與stackoverflow門戶相同的情況 - 他們有很多域,每個域都需要授權。你可以像他們那樣做。 – XzKto

回答

4

編號Cookie安全內置於瀏覽器級的網絡中;實際上,瀏覽器將不允許從另一個域所服務的頁面上的其他域讀取Cookie的數據。

+0

什麼是最好的解決方法?例如,我想我可以在b.com上包含一個框架,其中包含a.com上的腳本,該腳本讀取cookie並將數據存儲在共享數據庫中,然後從b.com讀取數據庫,但肯定有更好的方法? – user168715

+0

你基本上正在做的是試圖創建一個跨站請求鏈,它基本上是要求成爲XSS攻擊的受害者。因爲數據共享是在您的後端完成的,所以'iframe'方法是您實際上合理安全的最佳選擇。 – Amber